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
Docker AWS
This flow will build a Docker image and push it to a remote container registry.
- The
dockerfile
parameter is a multiline string that contains the Dockerfile content. However, it can also be a path to a file. - The
tags
parameter 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
push
parameter 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
GetAuthToken
task to fetch an access token for thedocker
command. This is necessary to authenticate the task with your ECR registry.
More Related Blueprints