首页/开发/CI/CD 与发布速查/单仓多项目流水线(Monorepo)
流水线设计54 条

单仓多项目流水线(Monorepo)

按受影响项目拆分流水线:只构建改动目录及其依赖方,主流程用路径条件与目录级子管道组织。

CI/CD 与发布速查开发更新于 2026-10-12
基础手段路径过滤 + 目录级子管道/作业分组
进阶工具Nx affected、Turborepo、Bazel query 基于依赖图挑选目标
收益全仓单管道改为按需执行,时长与资源显著下降

GitLab 按目录分派

GitLab 按目录分派
web:test:
  rules:
    - changes: [web/**/*]
  script: cd web && npm test
依赖图要覆盖「共享库 → 消费者」的传递影响,否则会漏跑。

易错点

  • 只按目录过滤忽略跨目录依赖:共享库改了却没人重跑消费者测试
  • 每个子项目一套完整流水线:合并请求触发几十条管道,队列与页面噪声失控

数据来源与参考

  • GitLab Docs《rules:changes》
  • Nx Docs《Affected》
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌