
CodePipeline は、フルマネージド型の CI/CD(継続的インテグレーション/継続的デリバリー)オーケストレーションサービス です。
ソース取得(CodeCommit/GitHub/S3)から、ビルド(CodeBuild)、テスト、承認、デプロイ(CodeDeploy/ECS/EKS/Lambda/CloudFormation など)までのプロセスをStage(ステージ) として定義し、自動で実行することができます。
各ステージは、複数の Action(アクション) で構成され、Transition(トランジション) によって次のステージへと遷移します。ステージ内のアクションは直列・並列実行の両方に対応しており、柔軟なパイプライン設計が可能です。また、リリース前の品質保証を目的として Manual Approval(手動承認) ステップを挿入したり、Canary Deployment(カナリアデプロイ) や Blue/Green Deployment(ブルーグリーンデプロイ) といった高度なデプロイ戦略を組み込むこともできます。
パイプラインの実行トリガーは、コミットによる変更検知やスケジュールに基づいて行われます。この際、各ビルドやデプロイがどのソース変更に基づいて実行されたかを示す Source Revision を自動的に追跡できます。
Artifact(アーティファクト) は S3 に保存され、ステージ間で成果物として受け渡されます。機密情報や認証情報は AWS Secrets Manager や Systems Manager Parameter Store で安全に管理します。
さらに、Cross-Region Pipeline(クロスリージョンパイプライン) により複数リージョンにまたがるデプロイを行ったり、Cross-Account Deployment(クロスアカウントデプロイ) によって複数アカウント間で統一的なリリースを実施することも可能です。
重要用語
ユースケース
- リスト1
 - リスト2
 - リスト3
 
ベストプラクティス
- リスト1
 - リスト2
 - リスト3
 
高可用性・冗長化
- リスト1
 - リスト2
 - リスト3
 
セキュリティ
- リスト1
 - リスト2
 - リスト3
 
運用・監視
- リスト1
 - リスト2
 - リスト3
 
デフォルトのリミット値
| リミット事項 | 上限数 | 
|---|---|
| 項目1 | 上限1 | 
| 項目2 | 上限2 | 
| 項目3 | 上限3 | 
| 項目4 | 上限4 | 
| 項目5 | 上限5 | 
AWS CLIのサンプルコード
vpc を作成
#include <stdio.h>
void main(void) {
  int i;
  for (i=0; i<10; i++)
    printf("%d\n", i);
vpc を作成
aaaaaaaaaaaaa
bbbbbbbbbbbbb
ccccccccccccc
Terraformのサンプルコード
vpc を作成
bbbbbbbbbbbbbbbbbbbbbbb
ddddddddddddddddddddddd
vpc を作成
xxxxxxxxxxxxxxxxxxxxxxx
yyyyyyyyyyyyyyyyyyyyyy
課金モデル
| 項目 | 内容 | 
|---|---|
| 項目1 | 内容1 | 
| 項目2 | 内容2 | 
| 項目3 | 内容3 | 
| 項目4 | 内容4 | 
| 項目5 | 内容5 |