gitlab-ci.draft.yml 1.4 KB

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