From c58a9d6fd508c52cb0a02d68595898b2f808521c Mon Sep 17 00:00:00 2001 From: batbattur Date: Tue, 5 Dec 2023 09:30:12 -0800 Subject: [PATCH] Add build-image.yml deployment workflow for the docker image This is almost the same deployment workflow we use in data-pipelines repository to build, tag and push the image to ECR: https://github.com/iFixit/data-pipelines/blob/main/.github/workflows/build-image.yml Saved the `role-to-assume` value in repository variables in the repo. --- .github/workflows/build-image.yml | 41 +++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 .github/workflows/build-image.yml diff --git a/.github/workflows/build-image.yml b/.github/workflows/build-image.yml new file mode 100644 index 0000000..ebebdc2 --- /dev/null +++ b/.github/workflows/build-image.yml @@ -0,0 +1,41 @@ +name: Build Vigilo image and push to ECR +on: + push: + branches: + - main + # Allow running this workflow manually from the Actions tab + workflow_dispatch: + +jobs: + build_image: + name: Build Vigilo image and push to ECR + runs-on: ubuntu-latest + permissions: + id-token: write + contents: read + + steps: + - name: Checkout + uses: actions/checkout@v3 + + - name: Configure AWS credentials + uses: aws-actions/configure-aws-credentials@v2 + with: + role-to-assume: ${{ env.DEPLOY_IAM_ROLE }} + aws-region: us-east-1 + + - name: Login to Amazon ECR + id: login-ecr + uses: aws-actions/amazon-ecr-login@v1 + + - name: Build, Tag, and Push Image to Amazon ECR + env: + REGISTRY: ${{ steps.login-ecr.outputs.registry }} + REPOSITORY: vigilo + DOCKER_TAG: ${{ github.sha }} + run: | + docker build -t $REGISTRY/$REPOSITORY:$DOCKER_TAG -f Dockerfile . + docker tag $REGISTRY/$REPOSITORY:$DOCKER_TAG $REGISTRY/$REPOSITORY:latest + + docker push $REGISTRY/$REPOSITORY:$DOCKER_TAG + docker push $REGISTRY/$REPOSITORY:latest