Taskfile.deploy.yml 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. version: "3"
  2. vars:
  3. APP_IMAGE: application
  4. CLI_IMAGE: cli
  5. NGINX_IMAGE: nginx
  6. tasks:
  7. build-*:
  8. desc: Build for GitHub Actions
  9. silent: true
  10. vars:
  11. TAG: '{{index .MATCH 0}}'
  12. cmds:
  13. - task docker:build-production-{{.TAG}}
  14. - mkdir -p ./{{.TAG}}
  15. - docker save ghcr.io/$GITHUB_PROJECT_NAME/{{.APP_IMAGE}}:{{.TAG}} | gzip > ./{{.TAG}}/{{.APP_IMAGE}}.tar.gz
  16. - docker save ghcr.io/$GITHUB_PROJECT_NAME/{{.CLI_IMAGE}}:{{.TAG}} | gzip > ./{{.TAG}}/{{.CLI_IMAGE}}.tar.gz
  17. - docker save ghcr.io/$GITHUB_PROJECT_NAME/{{.NGINX_IMAGE}}:{{.TAG}} | gzip > ./{{.TAG}}/{{.NGINX_IMAGE}}.tar.gz
  18. load-*:
  19. desc: Load Docker images for GitHub Actions
  20. silent: true
  21. vars:
  22. TAG: '{{index .MATCH 0}}'
  23. cmds:
  24. - gzip -dc ./{{.TAG}}/{{.APP_IMAGE}}.tar.gz | docker load && docker tag ghcr.io/$GITHUB_PROJECT_NAME/{{.APP_IMAGE}}:{{.TAG}} {{.APP_IMAGE}}
  25. - gzip -dc ./{{.TAG}}/{{.CLI_IMAGE}}.tar.gz | docker load && docker tag ghcr.io/$GITHUB_PROJECT_NAME/{{.CLI_IMAGE}}:{{.TAG}} {{.CLI_IMAGE}}
  26. - gzip -dc ./{{.TAG}}/{{.NGINX_IMAGE}}.tar.gz | docker load && docker tag ghcr.io/$GITHUB_PROJECT_NAME/{{.NGINX_IMAGE}}:{{.TAG}} {{.NGINX_IMAGE}}
  27. tag-*:
  28. desc: Tag Docker images for GitHub Actions
  29. silent: true
  30. vars:
  31. TAG: '{{index .MATCH 0}}'
  32. cmds:
  33. - docker tag {{.APP_IMAGE}} ghcr.io/$GITHUB_PROJECT_NAME/{{.APP_IMAGE}}:{{.TAG}}
  34. - docker tag {{.CLI_IMAGE}} ghcr.io/$GITHUB_PROJECT_NAME/{{.CLI_IMAGE}}:{{.TAG}}
  35. - docker tag {{.NGINX_IMAGE}} ghcr.io/$GITHUB_PROJECT_NAME/{{.NGINX_IMAGE}}:{{.TAG}}
  36. - docker tag {{.APP_IMAGE}} ghcr.io/$GITHUB_PROJECT_NAME/{{.APP_IMAGE}}:release
  37. - docker tag {{.CLI_IMAGE}} ghcr.io/$GITHUB_PROJECT_NAME/{{.CLI_IMAGE}}:release
  38. - docker tag {{.NGINX_IMAGE}} ghcr.io/$GITHUB_PROJECT_NAME/{{.NGINX_IMAGE}}:release
  39. push-*:
  40. desc: Push for GitHub Actions
  41. silent: true
  42. vars:
  43. TAG: '{{index .MATCH 0}}'
  44. cmds:
  45. - task docker:push-production-{{.TAG}}
  46. - task docker:push-production-release