AWS ECR Configuration
GitLab CI/CD Configuration for AWS ECR
This document outlines the configuration required to build and push Docker images to Amazon Elastic Container Registry (ECR) using GitLab CI/CD.
Required Variables
Add the following environment variables in your GitLab project's CI/CD settings under "Variables":
AWS_ACCESS_KEY_ID: Your AWS access key ID.AWS_SECRET_ACCESS_KEY: Your AWS secret access key.AWS_DEFAULT_REGION: The AWS region where your ECR repository is located (e.g.,us-east-1).AWS_ACCOUNT_ID: Your AWS account ID.
Further Steps (Example .gitlab-ci.yml)
You will also need to configure your .gitlab-ci.yml file to utilize these variables and build/push your Docker image. A sample configuration is shown below:
stages:
- build
- deploy
build:
stage: build
image: docker:latest
services:
- docker:dind
script:
- docker build -t $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME .
- docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME
deploy:
stage: deploy
image: amazon/aws-cli
script:
- aws ecr get-login-password --region $AWS_DEFAULT_REGION | docker login --username AWS --password-stdin $AWS_ACCOUNT_ID.dkr.ecr.$AWS_DEFAULT_REGION.amazonaws.com
- docker push $AWS_ACCOUNT_ID.dkr.ecr.$AWS_DEFAULT_REGION.amazonaws.com/$REPOSITORY_NAME:$CI_COMMIT_REF_NAME
Remember to replace $REPOSITORY_NAME with the name of your ECR repository.
Additional Resources
For more information, refer to the following resources: