'Docker イメージを Amazon ECR に公開' サンプルを調整して、Docker イメージが Amazon ECR の代わりに Docker Hub にプッシュされるようにするには、サンプルのコードを編集します。サンプルの詳細については、「CodeBuild の 'Docker イメージを Amazon ECR イメージリポジトリに公開' サンプル」と「'Docker イメージを Amazon ECR に公開' サンプルを実行」を参照してください。
注記
使用している Docker のバージョンが 17.06 より前のものである場合は、--no-include-email
オプションを削除します。
-
buildspec.yml
ファイルで、以下の Amazon ECR 固有のコード行を置き換えます。... pre_build: commands: - echo Logging in to Amazon ECR... - aws ecr get-login-password --region $AWS_DEFAULT_REGION | docker login --username AWS --password-stdin $AWS_ACCOUNT_ID.dkr.ecr.$AWS_DEFAULT_REGION.amazonaws.com build: commands: - echo Build started on `date` - echo Building the Docker image... - docker build -t $IMAGE_REPO_NAME:$IMAGE_TAG . - docker tag $IMAGE_REPO_NAME:$IMAGE_TAG $AWS_ACCOUNT_ID.dkr.ecr.$AWS_DEFAULT_REGION.amazonaws.com/$IMAGE_REPO_NAME:$IMAGE_TAG post_build: commands: - echo Build completed on `date` - echo Pushing the Docker image... - docker push $AWS_ACCOUNT_ID.dkr.ecr.$AWS_DEFAULT_REGION.amazonaws.com/$IMAGE_REPO_NAME:$IMAGE_TAG ...
代わりに、以下の Docker Hub 固有のコード行を使用します。
... pre_build: commands: - echo Logging in to Docker Hub... # Type the command to log in to your Docker Hub account here. build: commands: - echo Build started on `date` - echo Building the Docker image... - docker build -t $IMAGE_REPO_NAME:$IMAGE_TAG . - docker tag $IMAGE_REPO_NAME:$IMAGE_TAG $IMAGE_REPO_NAME:$IMAGE_TAG post_build: commands: - echo Build completed on `date` - echo Pushing the Docker image... - docker push $IMAGE_REPO_NAME:$IMAGE_TAG ...
-
編集済みのコードを S3 入力バケットにアップロードするか、AWS CodeCommit、GitHub、Bitbucket のいずれかのリポジトリにアップロードします。
重要
をアップロードしないでください。アップロードするのは、(root directory name)
内のファイルのみです。(root directory name)
S3 入力バケットを使用している場合は、ファイルを必ず ZIP ファイルに圧縮してから入力バケットにアップロードしてください。
を ZIP ファイルに追加しないでください。追加するのは、(root directory name)
内のファイルのみです。(root directory name)
-
create-project
コマンドに対する JSON 形式の入力で、以下のコード行が置き換えの対象です。... "environmentVariables": [ { "name": "AWS_DEFAULT_REGION", "value": "
region-ID
" }, { "name": "AWS_ACCOUNT_ID", "value": "account-ID
" }, { "name": "IMAGE_REPO_NAME", "value": "Amazon-ECR-repo-name
" }, { "name": "IMAGE_TAG", "value": "latest" } ] ...以下のコード行に置き換えます。
... "environmentVariables": [ { "name": "IMAGE_REPO_NAME", "value": "
your-Docker-Hub-repo-name
" }, { "name": "IMAGE_TAG", "value": "latest" } ] ... -
ビルド環境を作成して、ビルドを実行し、関連するビルド情報を表示します。
-
AWS CodeBuild が Docker イメージをリポジトリに正常にプッシュしたことを確認します。Docker Hub にサインインし、リポジトリに進み、[Tags] タブを選択します。
latest
タグには、ごく最近の [Last Updated] (最終更新) の値が含まれています。