はじめに
この記事の内容を分割しました。こちらの記事では使い方をまとめました。二回みられた方お許しください。
実行
基本の手順は次のようになります
- フォルダを作成し、docker-compose.yml (下に載せてます) ファイルを置く
- docker-compose.yml を編集
-
docker-compose up -d
で起動 - kanonを利用 プロジェクトの作成、mavenの実行など
- 確認後は
docker-compose down
で終了させます
動作の確認
実行手順は上の通りですが、確認用にdocker-compose.ymlを変更してください
- proxyの中の場合はenvironmentのhttp_proxy,https_proxyを変更しコメントを外す
- ポートを適切に変更
ブラウザで確認
次の場所に接続してみてください
- Jenkins:http://Docker実行ホスト名:8888/jenkinsmavenの確認
コンテナの起動後にdocker-compose exec kanon /tmp/test.sh
とすると、mavenでSampleProjectのdeployとsite-deployが実行されます。
$ docker-compose exec kanon /tmp/test.sh
A SampleProject/WebProject
A SampleProject/WebProject/trunk
A SampleProject/WebProject/trunk/.classpath
A SampleProject/WebProject/trunk/.project
A SampleProject/WebProject/trunk/src
A SampleProject/WebProject/trunk/src/main
A SampleProject/WebProject/trunk/src/main/java
...
省略
...
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 54:06.207s
[INFO] Finished at: Sat Aug 18 12:10:52 UTC 2018
[INFO] Final Memory: 29M/133M
[INFO] ------------------------------------------------------------------------
$
結果の確認は次のアドレスに接続してください
http://Docker実行ホスト名:8888/report/project-reports.html
http://Docker実行ホスト名:8888/maven/com/example/library/0.1/
プロジェクトの作成
コンテナが起動している状態でdocker-compose exec kanon /opt/kanon/bin/kanon-c reate-project プロジェクト名
とし、質問に答えていくとプロジェクトが作成されます。接続確認はSampleProjectのURLを指定したプロジェクト名に変更してください。
運用について
下にのせてあるdocker-compose.ymlをベースにしてください。
docker-compose.ymlファイル
確認時用
実行確認の場合は次のdocker-compose.ymlをベースにして、portやproxyを変更してください。
version: '2'
services:
kanon:
image: okazakiyuji/kanon:latest
hostname: kanon
environment:
- KANON_HOST=kanon
# - https_proxy=http://proxy_host:proxy_port
# - http_proxy=http://proxy_host:proxy_port
ports:
- "8888:80"
運用時用
次のdocker-compose.ymlをベースにして、portやproxyを変更してください。そのほか永続化と自動で再起動できるようにしてあります。これをベースに変更して使ってみてください。
何があっても責任取れないので、バックアップを取ったり、よく確認してから運用に使ってください。
version: '2'
services:
kanon:
image: okazakiyuji/kanon:latest
hostname: kanon
environment:
- KANON_HOST=kanon
# - https_proxy=http://proxy_host:proxy_port
# - http_proxy=http://proxy_host:proxy_port
volumes:
- kanon-opt:/opt/kanon
- kanon-etc:/etc/opt/kanon
- kanon-var:/var/opt/kanon
- kanon-jenkins:/var/lib/jenkins
ports:
- "8888:80"
restart: always
volumes:
kanon-opt:
driver: local
kanon-var:
driver: local
kanon-etc:
driver: local
kanon-jenkins:
driver: local