前提・実現したいこと
codebuildでECRにイメージをプッシュしようとしているのですが、エラーが出て上手くいきません。
発生している問題・エラーメッセージ
COMMAND_EXECUTION_ERROR: Error while executing command: $(aws ecr get-login --region ${AWS_DEFAULT_REGION} --no-include-email). Reason: exit status 255
該当のソースコード
[buildspec.yml] version: 0.2 phases: install: runtime-versions: docker: 18 pre_build: commands: - echo Logging in to Amazon ECR... - aws --version - REPOSITORY_URI=${AWS_ACCOUNT_ID}.dkr.${AWS_DEFAULT_REGION}.amazonaws.com/${IMAGE_REPO_NAME} - $(aws ecr get-login --region ${AWS_DEFAULT_REGION} --no-include-email) build: commands: - echo Build started on `date` - echo Building the Docker image... - docker build -t ${IMAGE_REPO_NAME}:latest . - docker tag ${IMAGE_REPO_NAME}:latest ${REPOSITORY_URI}:latest post_build: commands: - echo Build completed on `date` - echo Pushing the Docker image... - docker push ${REPOSITORY_URI}:latest - echo Writing image definitions file... - printf '[{"name":"hoge","imageUri":"%s"}]' ${AWS_ACCOUNT_ID}.dkr.ecr.${AWS_DEFAULT_REGION}.amazonaws.com/hoge:latest > imagedefinitions.json artifacts: files: - imagedefinitions.json
試したこと
codebuildのサービスロールにAmazonEC2ContainerRegistryFullAccessとAmazonS3FullAccessをアタッチしました。
よろしくお願い致します。
CodeBuildに使っているイメージはどれでしょうか?
あと、これは自分が知らないから聞きたいところなのと、多分質問とは関係ないところなんですが、runtimeにdockerって指定できましたっけ…?
aws ecr get-loginではなく
aws ecr get-login-passwordを使ったらどうなるでしょうか
https://dev.classmethod.jp/articles/aws-cli-v2-ecr-get-login-password/
回答1件
あなたの回答
tips
プレビュー