Code Pipeline: The image URI contains invalid characters

0

Hi everyone

I have Buildspec in CodeBuild like this:

version: 0.2

phases:
  post_build:
    commands:
      - echo '[{ "imageUri":"$IMAGE_URI" , "name":"$CONTAINER_NAME"   }]' > imagedefinitions.json

artifacts:
  files: 
    - imagedefinitions.json

When I set IMAGE_URI variable in Codepipeline this give me error "The image URI contains invalid characters" in Deploy process

My IMAGE_URI example: ****.dkr.ecr.ap-southeast-1.amazonaws.com/demo-ecr:pythonapp

How can I fix this ?

Thanks

2 Answers
1
Accepted Answer

I have fixed this by change single quote to double quote: echo "[{\ "name\ ":\ "$CONTAINER_NAME\ ",\ "imageUri\ ":\ "$IMAGE_URI\ "}]" > imagedefinitions.json

  • Each " inside "" add \ before example: \ " (no space because comment not show \ before " so I add space)
Nam
answered 3 months ago
1

Hi, to better investigate the issue I would recommend to add a command into your post_build step in order to show the content to the "imagedefinitions.json" file to double check if the interpolation of the variable actually works correctly.

version: 0.2

phases:
  post_build:
    commands:
      - echo '[{ "imageUri":"$IMAGE_URI" , "name":"$CONTAINER_NAME"   }]' > imagedefinitions.json
      - cat imagedefinitions.json

artifacts:
  files: 
    - imagedefinitions.json
AWS
answered 3 months ago
  • Thanks for comment. I fixed by change ' to " in echo. I worked

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions