Просмотр исходного кода

ci: 简化 mobile 流水线为 frozen-lockfile,并更新设计文档

Co-authored-by: Cursor <cursoragent@cursor.com>
zlwu 5 дней назад
Родитель
Сommit
bea76c9e11
3 измененных файлов с 5 добавлено и 10 удалено
  1. 2 7
      .drone.yml
  2. 1 1
      .gitignore
  3. 2 2
      docs/superpowers/specs/2026-10-24-drone-tag-package-design.md

+ 2 - 7
.drone.yml

@@ -47,14 +47,9 @@ steps:
       - corepack enable
       - corepack prepare pnpm@9 --activate
       - cd mobile
-      # 仓库内 pnpm-workspace.yaml 无 packages 字段,pnpm9 会直接失败;单包工程移走即可
-      - mv pnpm-workspace.yaml pnpm-workspace.yaml.ci-bak 2>/dev/null || true
-      # pnpm-lock.yaml 被 gitignore,不能 --frozen-lockfile
-      # 跳过 puppeteer 下载 Chromium(H5 构建不需要,否则会卡很久)
+      # H5 构建不需要 Chromium
       - export PUPPETEER_SKIP_DOWNLOAD=1 PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=1
-      # 无 lockfile 时 pnpm 默认隔离布局会导致 uni 找不到 webpack/lib/DefinePlugin;改用 hoisted
-      - printf '%s\n' 'shamefully-hoist=true' 'node-linker=hoisted' >> .npmrc
-      - pnpm install --no-frozen-lockfile --registry https://registry.npmmirror.com
+      - pnpm install --frozen-lockfile --registry https://registry.npmmirror.com
       - pnpm run build
       - test -d dist/build/h5
       - tar -C dist/build/h5 -czf "/hzdyjs-releases/${DRONE_TAG}/mobile-h5-${DRONE_TAG}.tar.gz" .

+ 1 - 1
.gitignore

@@ -80,7 +80,7 @@ mobile/yarn-debug.log*
 mobile/yarn-error.log*
 mobile/package-lock.json
 mobile/yarn.lock
-mobile/pnpm-lock.yaml
+# mobile/pnpm-lock.yaml 纳入仓库,保证 CI 与本地依赖树一致
 
 # Vue 自动生成的文件
 web/auto-imports.d.ts

+ 2 - 2
docs/superpowers/specs/2026-10-24-drone-tag-package-design.md

@@ -43,8 +43,8 @@
    源文件:`backend/ruoyi-admin/target/ruoyi-admin.jar` → `backend-<tag>.jar`
 
 2. **mobile**(`node:20-bookworm` + corepack/pnpm)  
-   CI 先移走无效 `pnpm-workspace.yaml`,再  
-   `pnpm install --no-frozen-lockfile`(`pnpm-lock.yaml` 被 gitignore)→ `pnpm run build`(H5)  
+   `pnpm install --frozen-lockfile`(仓库纳入 `mobile/pnpm-lock.yaml`;无效 `pnpm-workspace.yaml` 已删除)  
+   → `pnpm run build`(H5);CI 设置 `PUPPETEER_SKIP_DOWNLOAD=1`  
    打包 `mobile/dist/build/h5` → `mobile-h5-<tag>.tar.gz`
 
 ## Maven 公共缓存