DEV Community

Discussion on: Set up CI/CD for containerized React App using Docker, AWS CodeBuild, AWS ECS, AWS CodePipeline & Github

Collapse
 
mubbashir10 profile image
Mubbashir Mustafa • Edited

So it seems like in version 5 they have removed "Docker: 19" and from now onwards default docker runtime will be available only. To make this code work you can:

  • Either change the runtime to v4 or less (the article was written at the time when v3 was the latest available). dev-to-uploads.s3.amazonaws.com/i/...
  • Or remove this 👇🏽 (if you are using v5)
install:
    runtime-versions:
      docker: latest
Enter fullscreen mode Exit fullscreen mode
Collapse
 
mubbashir10 profile image
Mubbashir Mustafa
Collapse
 
chris7721 profile image
Chris7721

Oh thanks! Would try this and see how it works.

Thread Thread
 
mubbashir10 profile image
Mubbashir Mustafa

Sweet. Please do share how it goes!

Thread Thread
 
chris7721 profile image
Chris7721

It worked, but having another issue, the build break when it tries to run this

$(aws ecr get-login --region $AWS_DEFAULT_REGION --no-include-email)

The error message is:
An error occurred (AccessDeniedException) when calling the GetAuthorizationToken operation: User: arn:aws:sts:::assumed-role/codebuild-main--build-service-role/AWSCodeBuild--5c2c-4dff-a514- is not authorized to perform: ecr:GetAuthorizationToken on resource: *

[Container] 2021/02/07 14:25:18 Command did not exit successfully $(aws ecr get-login --region $AWS_DEFAULT_REGION --no-include-email) exit status 255

Thread Thread
 
dascott2007 profile image
Damaris Adora

You have probably figured it out already. But for newer folks. You have to replace:
$(aws ecr get-login --region $AWS_DEFAULT_REGION --no-include-email)
with:
"- aws ecr get-login-password | docker login --username AWS --password-stdin $YOUR-AWS-Repostitory-URI"

Example buildspec.yml file:

Image description