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

Nam
gefragt vor 4 Monaten230 Aufrufe
2 Antworten
1
Akzeptierte Antwort

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
beantwortet vor 4 Monaten
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
beantwortet vor 4 Monaten
  • Thanks for comment. I fixed by change ' to " in echo. I worked

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen