diff --git a/.github/workflows/release-push-docker.yml b/.github/workflows/release-push-docker.yml new file mode 100644 index 000000000..de08b99c1 --- /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_ORG_NAME }}/${{ secrets.DOCKER_BACKEND_CONTAINER_NAME }}:latest + ${{ secrets.DOCKER_ORG_NAME }}/${{ secrets.DOCKER_BACKEND_CONTAINER_NAME }}:${{ github.ref_name }} + + - 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_ORG_NAME }}/${{ secrets.DOCKER_FRONTEND_CONTAINER_NAME }}:latest + ${{ secrets.DOCKER_ORG_NAME }}/${{ secrets.DOCKER_FRONTEND_CONTAINER_NAME }}:${{ github.ref_name }} + + - 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_ORG_NAME }}/${{ secrets.DOCKER_SH_ADMIN_CONTAINER_NAME }}:latest + ${{ secrets.DOCKER_ORG_NAME }}/${{ secrets.DOCKER_SH_ADMIN_CONTAINER_NAME }}:${{ github.ref_name }} + + - 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_ORG_NAME }}/${{ secrets.DOCKER_AIO_CONTAINER_NAME }}:latest + ${{ secrets.DOCKER_ORG_NAME }}/${{ secrets.DOCKER_AIO_CONTAINER_NAME }}:${{ github.ref_name }}