gitlab-ci.draft.yml 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. # ⚠️ DRAFT — 请勿直接改名为根目录 .gitlab-ci.yml
  2. # 本文件是 G3「CI 接入」的配置草案,放在 docs/ 下不会被 GitLab 自动加载。
  3. # ✅【2026-11-06 16:2x】正式版已落地为根目录 `.gitlab-ci.yml`(最小 3-job),本草案仅作历史归档。
  4. # 启用前置(需人工核实):
  5. # 1) 确认 CI 平台确为 GitLab(remote: http://git.iwintrue.com/liaoxg/cfc,属 GitLab 系)
  6. # 2) runner 具备:JDK8(/d/jdk1.8.0_25 等价)、Maven、node22、可拉取依赖的网络
  7. # 3) 核实后复制到仓库根 .gitlab-ci.yml
  8. #
  9. # 🔴 关键坑:cfc-backend/pom.xml 第 28 行 <skipTests>true</skipTests>,
  10. # 直接 `mvn test` 会**静默跳过全部测试(假绿)**。
  11. # 因此后端 job 必须显式 `-DskipTests=false`,否则 CI 绿灯是假的。
  12. stages:
  13. - test
  14. frontend-jest:
  15. stage: test
  16. when: manual # 首次接入先手动跑,确认 runner 有 node/npm 后再改自动
  17. script:
  18. - cd cfc-frontend
  19. - npm ci || npm install
  20. - npx jest --ci
  21. # 注:当前未装 jest-junit,暂不产出 junit 报告;如需报告先加 devDep jest-junit
  22. backend-mvn-test:
  23. stage: test
  24. when: manual # 首次接入先手动跑,确认 runner 有 JDK8+Maven+.m2
  25. script:
  26. - cd cfc-backend
  27. # 必须 -DskipTests=false 覆盖 pom 默认值,否则假绿
  28. - mvn test -DskipTests=false
  29. artifacts:
  30. when: always
  31. reports:
  32. junit:
  33. - cfc-backend/target/surefire-reports/TEST-*.xml
  34. # 注:若 runner 无外网但 .m2 已预热,可改 `mvn -o test -DskipTests=false`