CodeBuildで Docker buildしてAWS ECRにpushする方法

AWSでDockerを使ったサービスをどうこうしようとすると、
どこでビルドするの問題が生じる。
CICDのフローでどうやって組み込むかが課題になるよね。

今回はAWS CodeBuildでDocker Imageをビルドして
ECRにプッシュするための設定を書き溜め。

広告

buildspec.ymlにdocker buildの手順を追加する

buildspec.ymlを下記のように作る。
version 0.2以降ではinstall時にruntime-versionsを指定しないとエラーになるので
書き忘れないようにね。今回の場合はdocker: 18を指定する。

流れとしてはこんな感じ。

  1. ECRにログイン
  2. 手元のDockerfileを使ってdocker buildを実行
  3. ECR向けにtagを付与
  4. ECRに作ったDockerImageをpushする

どのリポジトリにするかだったりは環境変数で指定できるから
ImageRepositoryだったりはご自由にどうぞ。
あとはこのbuildspec.ymlとDockerfileをzip化して
S3に配置すればいける。

runtime-versionの指定については公式をどうぞ。

https://docs.aws.amazon.com/ja_jp/codebuild/latest/userguide/build-env-ref-available.html


ECRへのRole設定とかは近いうちにまた記事にします。
じゃあね〜〜〜〜。