Publish Ar2facts Linux Open JDK Maven mvn test が通ることの確認 mvn test .java Jenkins Slave Linux PostgreSQL DB PostgreSQL docker run docker stop docker rm 1.1 DB/ITaを含めたパイプライン設計
Test Publish Artifacts Linux Open JDK Maven Jenkins ITaテストが通ることを確認 Linux JDK Wildfly Wildfly testrunner.sh docker-compose up –build -d junit ‘TEST*.xml' Jenkins Slave Linux PostgreSQL DB PostgreSQL Linux SoapUI Soap UI テスト結果(xml) docker-compose down 1.1 DB/ITaを含めたパイプライン設計
Publish Ar2facts 1.1 DB/ITaを含めたパイプライン設計 Linux PostgreSQL DB PostgreSQL Linux SoapUI Soap UI Linux JDK Wildfly Wildfly Linux PostgreSQL DB PostgreSQL DBテスト、ITa相当のテストをCIに含むことで 品質ゲートのクオリティが向上した
Compile UT Package Publish ITa Deploy Compile UT Package Publish ITa Deploy Compile UT Package Publish ITa Deploy ・ ・ ・ 物理リソースの限界までスケールさせることが可能 ※ただし、オーケストレーション・ツールは必須性が⾼い(後述) 【今回の⽅法】
• 今後 • オーケストレーション・ツールの提供する機能に応じて実装を⾏う • サービスはポート指定なしでアクセスできるようにする • ポートとホストを紐付け、デプロイされているアプリケーションは紐付けを変更 するだけで即座にサービスとして公開できる オーケストレーション・ツールの必要性 ① Port Binding パイプラインプロセスごとに起動するコンテナに割り当てるポートの管理 SERVICE NAME PORT /XXXX APP:8080 /YYYY APP:8081
• 想定する時間内で起動しない場合にはジョブは失敗してしまう • 今後 • オーケストレーション・ツールの提供する機能に応じて実装を⾏う • Liveness Probe︓コンテナが実⾏中でなければ再起動を実施 • Readiness Probe︓サービス提供可能かチェックしエンドポイントに公開 This container is OK! This service is reachable! No response.. Restart!