|
@@ -14,9 +14,8 @@ concurrency:
|
|
cancel-in-progress: true
|
|
cancel-in-progress: true
|
|
|
|
|
|
jobs:
|
|
jobs:
|
|
- build:
|
|
|
|
|
|
+ prepare-workspace:
|
|
runs-on: self-hosted
|
|
runs-on: self-hosted
|
|
-
|
|
|
|
steps:
|
|
steps:
|
|
- name: 检出代码
|
|
- name: 检出代码
|
|
uses: actions/checkout@v4
|
|
uses: actions/checkout@v4
|
|
@@ -29,10 +28,31 @@ jobs:
|
|
- name: 安装依赖
|
|
- name: 安装依赖
|
|
run: npm install --force
|
|
run: npm install --force
|
|
|
|
|
|
- - name: 运行自定义构建脚本
|
|
|
|
|
|
+ build-h5-production:
|
|
|
|
+ needs: prepare-workspace
|
|
|
|
+ runs-on: self-hosted
|
|
|
|
+ steps:
|
|
|
|
+ - name: 构建 H5 (生产环境)
|
|
env:
|
|
env:
|
|
- GH_TOKEN: ${{ secrets.GH_TOKEN }} # 关键:把 secret 映射成环境变量
|
|
|
|
- run: node .build/h5_for_production.js
|
|
|
|
|
|
+ GH_TOKEN: ${{ secrets.GH_TOKEN }}
|
|
|
|
+ TARO_API_URL: 'http://localhost:6001'
|
|
|
|
+ TARO_MQTT_URL: 'ws://localhost:8083/mqtt'
|
|
|
|
+ run: |
|
|
|
|
+ echo "当前操作系统平台: $(uname -s)"
|
|
|
|
+ echo "当前CPU架构: $(uname -m)"
|
|
|
|
+ if [ "$(uname -s)" = "Linux" ] && [ "$(uname -m)" = "aarch64" ]; then
|
|
|
|
+ echo "复制arm平台必须构建文件taro.linux-arm64-gnu.node到目标位置"
|
|
|
|
+ cp .build/taro.linux-arm64-gnu.node node_modules/@tarojs/binding/taro.linux-arm64-gnu.node
|
|
|
|
+ echo "复制完成"
|
|
|
|
+ fi
|
|
|
|
+ npm run build:h5
|
|
|
|
+
|
|
|
|
+ deploy-h5-production:
|
|
|
|
+ needs: build-h5-production
|
|
|
|
+ runs-on: self-hosted
|
|
|
|
+ steps:
|
|
|
|
+ - name: 检出代码
|
|
|
|
+ uses: actions/checkout@v4
|
|
|
|
|
|
- name: 复制构建结果到部署目录
|
|
- name: 复制构建结果到部署目录
|
|
run: |
|
|
run: |
|
|
@@ -41,16 +61,29 @@ jobs:
|
|
rsync -av --delete dist/h5/ /home/ccos/dros/linux-arm64-unpacked/h5/
|
|
rsync -av --delete dist/h5/ /home/ccos/dros/linux-arm64-unpacked/h5/
|
|
echo "✅ 文件已成功复制到 /home/ccos/dros/linux-arm64-unpacked/h5"
|
|
echo "✅ 文件已成功复制到 /home/ccos/dros/linux-arm64-unpacked/h5"
|
|
|
|
|
|
- - name: 切换 Node.js 18 环境
|
|
|
|
|
|
+ build-pkg:
|
|
|
|
+ needs: deploy-h5-production
|
|
|
|
+ runs-on: self-hosted
|
|
|
|
+ steps:
|
|
|
|
+ - name: 检出代码
|
|
|
|
+ uses: actions/checkout@v4
|
|
|
|
+
|
|
|
|
+ - name: 设置 Node.js 环境(PKG 需要 Node 18)
|
|
uses: actions/setup-node@v4
|
|
uses: actions/setup-node@v4
|
|
with:
|
|
with:
|
|
node-version: '18'
|
|
node-version: '18'
|
|
|
|
|
|
|
|
+ - name: 安装依赖
|
|
|
|
+ run: npm install --force
|
|
|
|
+
|
|
- name: 构建 PKG
|
|
- name: 构建 PKG
|
|
run: npm run pkg
|
|
run: npm run pkg
|
|
|
|
|
|
- # - name: 上传构建结果
|
|
|
|
- # uses: actions/upload-artifact@v4
|
|
|
|
- # with:
|
|
|
|
- # name: build-output
|
|
|
|
- # path: ./dist
|
|
|
|
|
|
+ build-android:
|
|
|
|
+ needs: prepare-workspace
|
|
|
|
+ runs-on: self-hosted
|
|
|
|
+ tags:
|
|
|
|
+ - win-android
|
|
|
|
+ steps:
|
|
|
|
+ - name: 构建 Android APK
|
|
|
|
+ run: npm run build:android
|