Source
yaml
id: build-aws-ecr-image
namespace: company.team
tasks:
  - id: fetch_auth_token
    type: io.kestra.plugin.aws.ecr.GetAuthToken
    accessKeyId: "{{ secret('AWS_ACCESS_KEY_ID') }}"
    secretKeyId: "{{ secret('AWS_SECRET_ACCESS_KEY') }}"
    region: "{{ secret('AWS_DEFAULT_REGION') }}"
  - id: build
    type: io.kestra.plugin.docker.Build
    dockerfile: |
      FROM python:3.10
      RUN pip install --upgrade pip
      RUN pip install --no-cache-dir kestra requests "polars[all]"
    tags:
      - 123456789.dkr.ecr.eu-central-1.amazonaws.com/data-infastructure:latest
    push: true
    credentials:
      username: AWS
      password: "{{ outputs.fetch_auth_token.token }}"
About this blueprint
DevOps AWS
This flow will build a Docker image and push it to a remote container registry.
- The 
dockerfileparameter is a multiline string that contains the Dockerfile content. However, it can also be a path to a file. - The 
tagsparameter is a list of tags of the image to build. Make sure to set a correct AWS region, and adjust the rest of the image URL to match your ECR repository. - The 
pushparameter is a boolean that indicates whether to push the image to the Elastic Container Registry. - Make sure to securely store your AWS credentials as secrets or environment variables.
 - Finally, note how we used the 
GetAuthTokentask to fetch an access token for thedockercommand. This is necessary to authenticate the task with your ECR registry. 
More Related Blueprints