Изображение не отправлено в ecr из codebuild, пока в buildspec нет ошибки

#amazon-web-services #aws-codebuild #amazon-ecr

#amazon-web-services #aws-codebuild #amazon-ecr

Вопрос:

yaml успешно выполнен в AWS code build, но изображение не отправлено в aws ecr. вывод файла buildspec.yml приведен ниже

 `[Container] 2020/10/26 09:50:07 Phase complete: PRE_BUILD State: SUCCEEDED
[Container] 2020/10/26 09:50:07 Phase context status code:  Message: 
[Container] 2020/10/26 09:50:07 Entering phase BUILD
[Container] 2020/10/26 09:50:07 Phase complete: BUILD State: SUCCEEDED
[Container] 2020/10/26 09:50:07 Phase context status code:  Message: 
[Container] 2020/10/26 09:50:07 Entering phase POST_BUILD
[Container] 2020/10/26 09:50:07 Phase complete: POST_BUILD State: SUCCEEDED
[Container] 2020/10/26 09:50:07 Phase context status code:  Message: `
  

Каждая фаза успешно выполняется с сообщением SUCCESSED.
Ниже приведен фрагмент кода файла buildspec.yml

 build:
        commands:
          - echo Build started on `date`
          - echo Building the Docker image...
          - docker build -t $REPOSITORY_URI:latest .
          - docker tag $REPOSITORY_URI:latest $REPOSITORY_URI:$IMAGE_TAG
    post_build:
        commands:
          - echo Build completed on `date`
          - echo Pushing the Docker images...
          - docker push $REPOSITORY_URI:latest
          - docker push $REPOSITORY_URI:$IMAGE_TAG
          - echo Writing image definitions file...
          - printf '[{"name":"ui","imageUri":"%s"}]'    $REPOSITORY_URI:$IMAGE_TAG > imagedefinitions.json
          - cat imagedefinitions.json
  

Ответ №1:

Ни одна команда не выполняется из-за неправильного отступа. Пожалуйста, исправьте отступ, используя ссылку buildspec в качестве руководства:

Также я не вижу входа в систему docker перед нажатием:

 - 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
  

Образец buildspce для Docker находится здесь: