From 7ca39d6365ca10ea3e19b52b7692ee898fb3a7da Mon Sep 17 00:00:00 2001 From: Andrew Bastin Date: Thu, 31 Aug 2023 14:59:10 +0530 Subject: [PATCH] chore: add release tag ci pipeline to push to docker hub --- .github/workflows/release-push-docker.yml | 66 +++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 .github/workflows/release-push-docker.yml diff --git a/.github/workflows/release-push-docker.yml b/.github/workflows/release-push-docker.yml new file mode 100644 index 000000000..e8548d62e --- /dev/null +++ b/.github/workflows/release-push-docker.yml @@ -0,0 +1,66 @@ +name: "Push containers to Docker Hub on release" + +on: + push: + tags: + - '*.*.*' + +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + + - name: Setup environment + run: cp .env.example .env + + - name: Log in to Docker Hub + uses: docker/login-action@v2 + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + + - name: Build and push `${{ secrets.DOCKER_BACKEND_CONTAINER_NAME }}` + uses: docker/build-push-action@v4 + with: + context: . + file: ./prod.Dockerfile + target: backend + push: true + tags: | + ${{ secrets.DOCKER_USERNAME }}/${{ secrets.DOCKER_BACKEND_CONTAINER_NAME }}:latest + ${{ secrets.DOCKER_USERNAME }}/${{ secrets.DOCKER_BACKEND_CONTAINER_NAME }}:${{ github.ref }} + + - name: Build and push `${{ secrets.DOCKER_FRONTEND_CONTAINER_NAME }}` + uses: docker/build-push-action@v4 + with: + context: . + file: ./prod.Dockerfile + target: app + push: true + tags: | + ${{ secrets.DOCKER_USERNAME }}/${{ secrets.DOCKER_FRONTEND_CONTAINER_NAME }}:latest + ${{ secrets.DOCKER_USERNAME }}/${{ secrets.DOCKER_FRONTEND_CONTAINER_NAME }}:${{ github.ref }} + + - name: Build and push `${{ secrets.DOCKER_SH_ADMIN_CONTAINER_NAME }}` + uses: docker/build-push-action@v4 + with: + context: . + file: ./prod.Dockerfile + target: sh_admin + push: true + tags: | + ${{ secrets.DOCKER_USERNAME }}/${{ secrets.DOCKER_SH_ADMIN_CONTAINER_NAME }}:latest + ${{ secrets.DOCKER_USERNAME }}/${{ secrets.DOCKER_SH_ADMIN_CONTAINER_NAME }}:${{ github.ref }} + + - name: Build and push `${{ secrets.DOCKER_AIO_CONTAINER_NAME }}` + uses: docker/build-push-action@v4 + with: + context: . + file: ./prod.Dockerfile + target: aio + push: true + tags: | + ${{ secrets.DOCKER_USERNAME }}/${{ secrets.DOCKER_AIO_CONTAINER_NAME }}:latest + ${{ secrets.DOCKER_USERNAME }}/${{ secrets.DOCKER_AIO_CONTAINER_NAME }}:${{ github.ref }}