Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 11 Next »

You want to use the Amazon Elastic Container Registry (ECR) with the native Bamboo Docker task.


Step-by-step guide

We are going to use the official docker-library/hello-world image as an example:

  1. Build a Docker image on the Bamboo agent:

    1. Specify the 'Repository' as ${bamboo.custom.aws.ecr.proxyEndpointDomain}/hello-world:latest.
    2. Select 'Use an existing Dockerfile located in the task's working directory' to work with the docker-library/hello-world image source checked out in step 2 above.
  2. (Optional) Run the hello-world image for demo/test purposes:

    1. Specify the 'Docker image' as ${bamboo.custom.aws.ecr.proxyEndpointDomain}/hello-world:latest.

      Bamboo agents vs. Amazon ECS cluster

      If your goal is to use the Bamboo Docker task's Run action, you might want to consider running your container on the Amazon Elastic Container Service (ECS) instead, which, other than running containers on Bamboo agents, is a highly scalable, high performance container management service that allows you to easily run applications on a managed cluster of Amazon EC2 instances - refer to Deploying to Amazon ECS for details.

  3. Push the hello-world image to the Amazon ECR registry:
    1. Select 'Custom registry' and specify the 'Repository' as ${bamboo.custom.aws.ecr.proxyEndpointDomain}/hello-world:latest.
    2. Specify the 'Username' as ${bamboo.custom.aws.ecr.username}.
    3. Specify the 'Password' as ${bamboo.custom.aws.ecr.password}.
      • (lightbulb) The 'Password' field is masked, so copying a respectively prepared string from elsewhere ensures the correct syntax is being used.
    4. (Deprecated) Specify an arbitrary email address when using Bamboo < 6.2.0.

Compatibility notes

Find below compatibility notes regarding this article (see also Identity Federation for AWS Compatibility Notes).

Supported

No known compatibility issue.

End of Life

 Click here to expand...

Bamboo < 5.14.4

Bamboo variable substitution in repository specification

There seems to be an issue with the built-in Bamboo Docker tasks' field validation for custom Docker registry endpoints, which does not fully support the advertised 'registry.address:port/namespace/repository:tag' format when using Bamboo variables apparently (refer to BAM-15861 - Getting issue details... STATUS for details):

  • (tick) Variables are supported for registry and tag fragments (e.g. ${bamboo.custom.aws.ecr.proxyEndpointDomain}/namespace/repository:${bamboo.buildResultKey}).
  • (error) Variables are not supported for namespace and repository fragments (e.g. ${bamboo.custom.aws.ecr.proxyEndpointDomain}/${bamboo.namespaceName}/${bamboo.repositoryName}:latest).

  • No labels