在测试机既有 Gogs + Drone(101.35.245.122:18088)上,为仓库 hzdyjs-xg/all-project 增加 仅 tag 触发 的自动打包。因测试机约 3.6G 内存不足以完成 web Vite 生产构建(实测约 36 分钟后 OOM),CI 当前只打包 backend + mobile-h5;web 暂缓,后续另议。
npm run build:prod / build:ci)build:mp-weixin);移动端按 pnpm run build(H5)| 项 | 值 |
|---|---|
| Gogs | http://101.35.245.122:3000/hzdyjs-xg/all-project |
| Drone | 共用现有实例;激活本仓库并 trusted=true(host volume) |
| 触发 | event: tag only |
| 并发 | concurrency.limit: 1 |
/root/hzdyjs-releases/<tag>/
backend-<tag>.jar
mobile-h5-<tag>.tar.gz
容器内挂载点:/hzdyjs-releases → 宿主机 /root/hzdyjs-releases。
backend(maven:3.9-eclipse-temurin-17)
mvn clean package -Pprod -Dmaven.test.skip=true -Dmaven.compiler.parameters=true -Dmaven.repo.local=/maven-repo
源文件:backend/ruoyi-admin/target/ruoyi-admin.jar → backend-<tag>.jar
mobile(node:20-bookworm + corepack/pnpm)
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
| 项 | 值 |
|---|---|
| 宿主机 | /root/maven-repo |
| 容器 | /maven-repo |
| 注入方式 | runner DRONE_RUNNER_VOLUMES(勿在 .drone.yml 再声明同路径,避免 Duplicate mount) |
在现有 /var/run/docker.sock、/root/zkxw-releases:/releases 基础上追加:
/root/maven-repo:/maven-repo
/root/hzdyjs-releases:/hzdyjs-releases
对 zkxw 流水线无害(未使用的挂载可忽略)。
任一步失败则整次构建失败;实现上可先 mkdir -p 再逐步写入——若中途失败,该 tag 目录可能不完整,以 Drone 构建状态为准。
ci-pkg-test-YYYYMMDDHHMM)backend-*.jar 与 mobile-h5-*.tar.gz 均存在于 /root/hzdyjs-releases/<tag>/,且非空(无 web 包)