Merge pull request #167 from socialappslab/fix/930/remove-unnecessary… #197
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Push the Docker image to AWS ECR Repo | |
on: | |
push: | |
branches: | |
- develop | |
jobs: | |
Build: | |
name: Build | |
runs-on: self-hosted | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v2 | |
- name: Configure AWS credentials | |
uses: aws-actions/configure-aws-credentials@v1 | |
with: | |
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} | |
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} | |
aws-region: ${{ vars.AWS_REGION }} | |
- name: Login to Amazon ECR | |
id: login-ecr | |
uses: aws-actions/amazon-ecr-login@v1 | |
- name: Get commit hash | |
id: get-commit-hash | |
run: echo "::set-output name=commit-hash::$(git rev-parse --short HEAD)" | |
- name: Build, tag, and push the image to Amazon ECR | |
id: build-image | |
env: | |
ECR_REGISTRY: ${{ steps.login-ecr.outputs.registry }} | |
ECR_REPOSITORY: ${{ secrets.REPO_NAME }} | |
IMAGE_TAG: ${{ steps.get-commit-hash.outputs.commit-hash }} | |
run: | | |
docker build --build-arg ENV_NAME=develop -t $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG . | |
docker tag $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG $ECR_REGISTRY/$ECR_REPOSITORY:latest | |
docker push $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG | |
docker push $ECR_REGISTRY/$ECR_REPOSITORY:latest | |
- name: Clean up unused Docker images and prune system | |
run: | | |
docker images --format "{{.Repository}}:{{.Tag}} {{.CreatedAt}}" | \ | |
grep -v "$ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG" | \ | |
awk 'NR>3 {print $1}' | \ | |
xargs -I {} docker rmi {} || echo "No unused images found to remove" | |
docker system prune -f --volumes |