build-web-deployment.yml 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. name: CI 构建 Web 部署版本(Nginx 代理模式)
  2. on:
  3. push:
  4. branches:
  5. - master
  6. paths:
  7. - 'src/**'
  8. - 'config/**'
  9. - '.github/workflows/build-web-deployment.yml'
  10. repository_dispatch:
  11. types:
  12. - webhook_trigger_web
  13. workflow_dispatch: # 支持手动触发
  14. # 并发控制:自动取消旧的运行
  15. concurrency:
  16. group: build-web-deployment-${{ github.ref }}
  17. cancel-in-progress: true
  18. jobs:
  19. build-h5-web:
  20. runs-on: [win-h5-only]
  21. steps:
  22. - name: 检出代码
  23. uses: actions/checkout@v4
  24. - name: 设置 Node.js 环境
  25. uses: actions/setup-node@v4
  26. with:
  27. node-version: '20'
  28. - name: 智能安装依赖(跨平台)
  29. run: node .build/smart-install.js
  30. - name: 测试 SSH 连接
  31. env:
  32. DEPLOY_KEY: ${{ secrets.DEPLOY_KEY }}
  33. DEPLOY_HOST: ${{ secrets.DEPLOY_HOST }}
  34. DEPLOY_USER: ${{ secrets.DEPLOY_USER }}
  35. DEPLOY_PATH: ${{ secrets.WEB_DEPLOY_PATH }}
  36. run: node .build/deploy-to-server.js --test
  37. - name: 构建 H5 (Web 部署 - Nginx 代理模式)
  38. shell: powershell
  39. env:
  40. GH_TOKEN: ${{ secrets.GH_TOKEN }}
  41. run: |
  42. Write-Host "🌐 Web 部署模式 (Nginx 代理)"
  43. Write-Host " 使用 h5_for_webserver.build.js 构建脚本"
  44. Write-Host " API URL: 空 (前端自行构建,nginx根据路径转发)"
  45. Write-Host ""
  46. Write-Host "当前操作系统平台: Windows"
  47. Write-Host "当前CPU架构: $env:PROCESSOR_ARCHITECTURE"
  48. node .build/h5_for_webserver.build.js
  49. - name: 部署到服务器
  50. env:
  51. DEPLOY_KEY: ${{ secrets.DEPLOY_KEY }}
  52. DEPLOY_HOST: ${{ secrets.DEPLOY_HOST }}
  53. DEPLOY_USER: ${{ secrets.DEPLOY_USER }}
  54. DEPLOY_PATH: ${{ secrets.WEB_DEPLOY_PATH }}
  55. run: node .build/deploy-to-server.js