release-push-docker.yml 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. name: "Push containers to Docker Hub on release"
  2. on:
  3. push:
  4. tags:
  5. - '*.*.*'
  6. jobs:
  7. build:
  8. runs-on: ubuntu-latest
  9. steps:
  10. - name: Checkout
  11. uses: actions/checkout@v3
  12. - name: Setup environment
  13. run: cp .env.example .env
  14. - name: Log in to Docker Hub
  15. uses: docker/login-action@v2
  16. with:
  17. username: ${{ secrets.DOCKER_USERNAME }}
  18. password: ${{ secrets.DOCKER_PASSWORD }}
  19. - name: Build and push `${{ secrets.DOCKER_BACKEND_CONTAINER_NAME }}`
  20. uses: docker/build-push-action@v4
  21. with:
  22. context: .
  23. file: ./prod.Dockerfile
  24. target: backend
  25. push: true
  26. tags: |
  27. ${{ secrets.DOCKER_ORG_NAME }}/${{ secrets.DOCKER_BACKEND_CONTAINER_NAME }}:latest
  28. ${{ secrets.DOCKER_ORG_NAME }}/${{ secrets.DOCKER_BACKEND_CONTAINER_NAME }}:${{ github.ref_name }}
  29. - name: Build and push `${{ secrets.DOCKER_FRONTEND_CONTAINER_NAME }}`
  30. uses: docker/build-push-action@v4
  31. with:
  32. context: .
  33. file: ./prod.Dockerfile
  34. target: app
  35. push: true
  36. tags: |
  37. ${{ secrets.DOCKER_ORG_NAME }}/${{ secrets.DOCKER_FRONTEND_CONTAINER_NAME }}:latest
  38. ${{ secrets.DOCKER_ORG_NAME }}/${{ secrets.DOCKER_FRONTEND_CONTAINER_NAME }}:${{ github.ref_name }}
  39. - name: Build and push `${{ secrets.DOCKER_SH_ADMIN_CONTAINER_NAME }}`
  40. uses: docker/build-push-action@v4
  41. with:
  42. context: .
  43. file: ./prod.Dockerfile
  44. target: sh_admin
  45. push: true
  46. tags: |
  47. ${{ secrets.DOCKER_ORG_NAME }}/${{ secrets.DOCKER_SH_ADMIN_CONTAINER_NAME }}:latest
  48. ${{ secrets.DOCKER_ORG_NAME }}/${{ secrets.DOCKER_SH_ADMIN_CONTAINER_NAME }}:${{ github.ref_name }}
  49. - name: Build and push `${{ secrets.DOCKER_AIO_CONTAINER_NAME }}`
  50. uses: docker/build-push-action@v4
  51. with:
  52. context: .
  53. file: ./prod.Dockerfile
  54. target: aio
  55. push: true
  56. tags: |
  57. ${{ secrets.DOCKER_ORG_NAME }}/${{ secrets.DOCKER_AIO_CONTAINER_NAME }}:latest
  58. ${{ secrets.DOCKER_ORG_NAME }}/${{ secrets.DOCKER_AIO_CONTAINER_NAME }}:${{ github.ref_name }}