CodeBuild에서 ECR 빌드 오류에서 얻은 네 가지 발견
소개
ECR을 빌드하고 싶었습니다.
자신이 다음 빠지지 않도록 정리해 둔다.
TL;DR
aws/codebuild/standard:2.0
를 사용할 때는 runtime-versions
를 지정해야합니다.4가지 오류 세부사항 및 대응 방법
1. aws/codebuild/standard:2.0을 사용할 때는 runtime-versions를 지정해야 합니다.
YAML_FILE_ERROR: This build image requires selecting at least one runtime version.
YAML_FILE_ERROR: This build image requires selecting at least one runtime version.
buildspec.yml
에 추기할 필요가 있었다. buildspec.yml
phases:
install:
runtime-versions:
docker: 18
2. 빌드를 실행하는 역할에 ECR을 조작하는 정책을 추가해야 함
COMMAND_EXECUTION_ERROR: Error while executing command: $(aws ecr get-login --no-include-email --region $AWS_DEFAULT_REGION). Reason: exit status 255
3.Docker의 특권 부여 체크를 넣을 필요가 있다
[Container] 2019/09/07 17:00:26 Running command docker build -t $IMAGE_REPO_NAME:$IMAGE_TAG .
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
4. ECR의 "푸시 명령 표시"를 살펴보고 환경 변수를 설정합니다.
[Container] 2019/09/07 17:32:13 Phase context status code: COMMAND_EXECUTION_ERROR Message: Error while executing command: docker push
$AWS_ACCOUNT_ID.dkr.ecr.$AWS_DEFAULT_REGION.amazonaws.com/$IMAGE_REPO_NAME:$IMAGE_TAG. Reason: exit status 1
buildspec.yml
는 이쪽. echo
로 로그를 내보내는 것도 실수 발견으로 이어졌다. buildspec.yml
version: 0.2
phases:
install:
runtime-versions:
docker: 18
pre_build:
commands:
- echo Logging in to Amazon ECR...
- $(aws ecr get-login --no-include-email --region $AWS_DEFAULT_REGION)
build:
commands:
- echo Build started on `date`
- echo Building the Docker image...
- echo $IMAGE_REPO_NAME
- docker build -t $IMAGE_REPO_NAME:$IMAGE_TAG .
- echo docker tag $IMAGE_REPO_NAME:$IMAGE_TAG $AWS_ACCOUNT_ID.dkr.ecr.$AWS_DEFAULT_REGION.amazonaws.com/$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
- printf '[{"name":"<container-definition>","imageUri":"%s"}]' $AWS_ACCOUNT_ID.dkr.ecr.$AWS_DEFAULT_REGION.amazonaws.com/$IMAGE_REPO_NAME:$IMAGE_TAG > artifacts.json
artifacts:
files: artifacts.json
사이고에게
여기 블로그 에도 AWS 관련 몇 가지 기사를 작성하기 시작했습니다.
Reference
이 문제에 관하여(CodeBuild에서 ECR 빌드 오류에서 얻은 네 가지 발견), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/icck/items/bcf118a38c2a691a837d텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)