概要
- Code3兄弟と言われる「CodePipline」「CodeBuild」「CodeDeploy」それぞれの関係性を簡単にまとめておく。
関係性
Code系AWSリソースの関係性を簡単にまとめる。
- CodePipline: 長男
- CodeBuild: 次男
- CodeDeploy: 三男
のようなイメージ
上記の登場人物で役割分担をして夕飯の料理をつくる(料理を食卓テーブルに配膳する)感じっぽい。
流れ(イメージ)
- 長男(Pipline)が母親が食材を買って帰宅したことに気がつく。
- 長男から次男(Build)にお願いをして調理を開始する。
- 調理完了を長男が確認する。
- 長男から三男(Deploy)にお願いして料理を皿に盛り付け、食卓テーブルに配膳するお願いをする。
- 配膳完了を長男が確認する。
- 長男が配膳完了の旨を両親に伝える。
流れ(実際)
- Piplineは監視中のGitのブランチに変更があった場合CI/CDのプロセスを開始する。
- PiplineがBuildを実行し、コードのビルドを行う。
- ビルドの正常完了をPiplineが確認する。
- PiplineがDeployを実行し、ビルド済みコードのデプロイを行う。
- デプロイの正常完了をPiplineが確認する。
- Piplineがデプロイの正常終了を確認しCI/CDのプロセスを完了する。
余談
ちなみにCodeDeployはデプロイ対象の環境の設定や、デプロイの方法(「インプレース」 or 「Blue/Green」など)やデプロイそのもの方法などを設定する。
デプロイ時のサーバー内の処理などはappspec.ymlファイルなどに記載して実行する。