Skip to content

Instantly share code, notes, and snippets.

@JimmyBjorklund
Last active December 3, 2021 09:29
Show Gist options
  • Save JimmyBjorklund/c03db47bb7c746ccedf911fc9b3b9e11 to your computer and use it in GitHub Desktop.
Save JimmyBjorklund/c03db47bb7c746ccedf911fc9b3b9e11 to your computer and use it in GitHub Desktop.
Use Github actions to push tags to AWS ECR
name: Deploy tag and push to ECR
on:
push:
tags:
- "v*"
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
AWS_REGION: eu-west-1 # set this to your preferred AWS region, e.g. us-west-1
ECR_REPOSITORY: my-repo # set this to your Amazon ECR repository name
jobs:
deploy:
name: Deploy
runs-on: ubuntu-latest
environment: production
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v1
with:
aws-access-key-id: ${{ env.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ env.AWS_SECRET_ACCESS_KEY }}
aws-region: ${{ env.AWS_REGION }}
- name: Login to Amazon ECR
id: login-ecr
uses: aws-actions/amazon-ecr-login@v1
- name: Get the version
id: get_version
run: echo ::set-output name=VERSION::$(echo $GITHUB_REF | cut -d / -f 3)
- name: Get build number
id: build_number
run: echo ::set-output name=NUMBER::$( echo $GITHUB_RUN_NUMBER )
- name: Build, tag, and push image to Amazon ECR
id: build-image
env:
ECR_REGISTRY: ${{ steps.login-ecr.outputs.registry }}
IMAGE_TAG: ${{ steps.get_version.outputs.VERSION }}
run: |
docker build -t $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG .
docker push $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG
echo "::set-output name=image::$ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment