CodePipelineとは
CodePipelineは、CodeCommit、CodeBuild、CodeDeployなどのサービスと連携して継続的デリバリーの自動化を提供するフルマネージドサービス。
これらのサービスはCodeシリーズと呼ばれている。
CodePipelineを構成するステージ
CodePipelineで作成するパイプラインは、主に4つのステージで構成される。
各ステージの名称と、それぞれのステージに使用できる主なサービスを挙げる。
用途に応じて適切な構成でパイプラインを構成する必要がある。
- ソースステージ(必須)
- CodeCommit
- S3(バケットのバージョニング設定と資材のZip化が必須)
- ビルドステージ(任意)
- CodeBuild
- Jenkins
- 承認ステージ(任意)
- デプロイステージ(任意)
- AppConfig
- CodeBuild
- CodeDeploy
- CloudFormation
- Elastic Beanstalk
- OpsWorks
- Service Catalog
- Skills Kit
- Lambda
- ECS
パイプラインの動作契機
ソースステージに設定したCodeCommitリポジトリのブランチ、またはS3のZipファイルに変更が加わった場合に、CodePipelineがその変更を自動的に検知して動作する。
ソースステージにS3を使用している場合は、CodePipelineがバケットから資材のZipファイルを取得した後、自動的に展開してから次のステージに渡してくれる。
環境変数
ビルドステージやデプロイステージに環境変数を設定し、CodeBuildやCodeDeployの処理の中で使用することができる。
また、CodeBuildやCodeDeployの処理の中でCodePipelineの環境変数に値を設定し、次のステージに渡すこともできる。