全モジュールを通して、以下の内容を体験していただきました。
ECS で複数のタスクを稼働させるアプリケーションのデプロイ
タスク間のサービスディスカバリ
CodeDeploy、ALB を利用した ECS の Blue/Green デプロイメント
CodePipeline を利用した ECS 環境における CI/CD による自動デプロイ
おめでとうございます!これで今回のハンズオンはすべて完了しました。次のモジュールで、後片付けを行ってください。
pre_build
フェーズ
ECR レジストリへログイン
Docker イメージを保管する ECR リポジトリを変数に設定
ビルド ID の Prefix を Docker イメージのタグに指定するために、イメージタグの変数を設定
pre_build:
commands:
- aws ecr get-login-password --region ap-northeast-1 | docker login --username AWS --password-stdin <AWS アカウント ID>.dkr.ecr.ap-northeast-1.amazonaws.com
- REPOSITORY_URI=<先ほど作成した ECR リポジトリの URI>
- IMAGE_TAG=$(echo $CODEBUILD_RESOLVED_SOURCE_VERSION | cut -c 1-7)
build
フェーズ
Docker イメージをビルド
pre_build
フェーズで設定したイメージタグを利用して、ビルドした Docker イメージにタグ付け
build:
commands:
- docker build -t $REPOSITORY_URI:latest .
- docker tag $REPOSITORY_URI:latest $REPOSITORY_URI:$IMAGE_TAG
post_build
フェーズ
ビルドした Docker イメージを ECR リポジトリに Push
イメージの情報を imageDetail.json
に出力
post_build:
commands:
- docker push $REPOSITORY_URI:latest
- docker push $REPOSITORY_URI:$IMAGE_TAG
- printf '{"Version":"1.0","ImageURI":"%s"}' $REPOSITORY_URI:$IMAGE_TAG > imageDetail.json
artifact
imageDetail.json
をアウトプットアーティファクトとして指定artifacts:
files: imageDetail.json