- 参画中の案件にてPipelineを使用する予定みたいなので、動作確認してみる。
- 本番環境での運用を考えるとELB、ECS Fargateを使用すべきなので、その辺も今後確認予定。
- CircleCIとの比較もしてみたい。
- GitHubにpush
- Code Pipelineの設定で対象リポジトリ内のブランチ変更を検知
- GitHubに資材を取りに行く
- Code Pipelineを介してCode Buildスタート
- Code Buildでビルドしたjar+αをS3にput
- Code Deployスタート
- Code Deployの指示を受け、EC2(Codedeploy Agent)で処理実行
- EC2にてCodeDeploy AgentがS3から資材を取得し、デプロイ
-
buildspec.yml
- ビルドの仕様を記載したYaml形式のファイル。実行するLinuxのコマンドやS3にアップロードするファイルパスなどを記述。
-
cddedeploy/appspec.yml
- デプロイの仕様を記載したYaml形式のファイル。S3から取得したモジュールの配置場所、各フェーズで実行する処理を記述。
-
deploy/backendProject-restart.sh
- アプリケーションをSystemdサービスとして常駐させるためのシェルスクリプト。デプロイ時、モジュールを配置後にサービスを再起動させる。