What I have tried:
- I can successfully push to Amazon ECR (details in this answer I posted on Stack Overflow)- I am failing to pull the above image in a subsequent pipeline (see example).Example bitbucket-pipeline.yml
image: name: <ecr-registry-address>/<repository>:<tag> aws: access-key: ${AWS_ACCESS_KEY_ID} secret-key: ${AWS_SECRET_ACCESS_KEY}pipelines: default: - step: script: - echo 'Hello World'
The error I get back:
Finally:
In order to push to the repository, I already setup IAM roles for the bitbucket-pipelines account (AmazonEC2ContainerRegistryPowerUser). Is there any other setup required?
Hi Dean,
If you'd like to use environment variables for your ECR image you need to change your YAML to look like this:
image: name: <imagename> aws: access-key: $AWS_ACCESS_KEY_ID secret-key: $AWS_SECRET_ACCESS_KEYpipelines: default: - step: script: - echo 'Hello world'...
Specifically removing the curly braces around your environment variables and realigning the whitespace (though, that may have been copy/paste).
Hope that helps!
Phil
Fixed.
Thank you, I arrived to this conclusion just moments before you replied. Why is the case though? When you say 'fixed', is the ${} now supported?If not, that notation is supported everywhere else in the bitbucket-pipelines.yml, so I think for consistency it would be a good idea!I logged the following suggestion (https://jira.atlassian.com/browse/BSERV-10113), to note this limitation (if it is still present) in the documentation and to give a more descriptive error message if this is to occur.If you have fixed the above, then the above can probably be discarded. But in general, system errors like this should be caught by a syntax validator at least.Thanks for the support
I'm having the same problem and it's unclear to me what the resolution is.
It looks like you're new here. Sign in or register to get started.