deploy.yml 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. name: Deploy Website on push
  2. on:
  3. push:
  4. branches:
  5. - main
  6. jobs:
  7. deploy-push-ftp:
  8. name: Deploy Push Ftp
  9. if: github.actor != 'dependabot[bot]' && !contains(github.event.head_commit.message, '[skip ci]') && contains(github.event.head_commit.message, '[deploy]')
  10. runs-on: ubuntu-latest
  11. strategy:
  12. matrix:
  13. node-version: [20]
  14. steps:
  15. - name: Checkout code
  16. uses: actions/checkout@v4
  17. with:
  18. fetch-depth: 0
  19. - name: Sed Config Base
  20. shell: bash
  21. run: |
  22. sed -i "s#VITE_COMPRESS\s*=.*#VITE_COMPRESS = gzip#g" ./apps/web-antd/.env.production
  23. sed -i "s#VITE_PWA\s*=.*#VITE_PWA = true#g" ./apps/web-antd/.env.production
  24. cat ./apps/web-antd/.env.production
  25. - name: Install pnpm
  26. uses: pnpm/action-setup@v4
  27. - name: Use Node.js ${{ matrix.node-version }}
  28. uses: actions/setup-node@v4
  29. with:
  30. node-version: ${{ matrix.node-version }}
  31. cache: "pnpm"
  32. - name: Install dependencies
  33. run: pnpm install --frozen-lockfile
  34. - name: Build
  35. run: pnpm run build
  36. - name: Sync Web Antd files
  37. uses: SamKirkland/FTP-Deploy-Action@v4.3.5
  38. with:
  39. server: ${{ secrets.PRO_FTP_HOST }}
  40. username: ${{ secrets.WEB_ANTD_FTP_ACCOUNT }}
  41. password: ${{ secrets.WEB_ANTD_FTP_PASSWORD }}
  42. local-dir: ./apps/web-antd/dist/
  43. - name: Sync Web Naive files
  44. uses: SamKirkland/FTP-Deploy-Action@v4.3.5
  45. with:
  46. server: ${{ secrets.PRO_FTP_HOST }}
  47. username: ${{ secrets.WEB_NAIVE_FTP_ACCOUNT }}
  48. password: ${{ secrets.WEB_NAIVE_FTP_PASSWORD }}
  49. local-dir: ./apps/web-naive/dist/
  50. - name: Sync Web Ele files
  51. uses: SamKirkland/FTP-Deploy-Action@v4.3.5
  52. with:
  53. server: ${{ secrets.PRO_FTP_HOST }}
  54. username: ${{ secrets.WEB_ELE_FTP_ACCOUNT }}
  55. password: ${{ secrets.WEB_ELE_FTP_PASSWORD }}
  56. local-dir: ./apps/web-ele/dist/
  57. - name: Sync Docs files
  58. uses: SamKirkland/FTP-Deploy-Action@v4.3.5
  59. with:
  60. server: ${{ secrets.PRO_FTP_HOST }}
  61. username: ${{ secrets.WEBSITE_FTP_ACCOUNT }}
  62. password: ${{ secrets.WEBSITE_FTP_PASSWORD }}
  63. local-dir: ./docs/.vitepress/dist/