概述Monorepo 需要高效的CI策略。本文提供 GitHub Actions 的可复用工作流与矩阵并行、缓存与Artifact复用、条件触发与环境保护实践,以及验证方法。可复用工作流(已验证)`workflow_call`:将通用构建/测试打包为模块;版本化与输入输出参数;矩阵并行与缓存`strategy.matrix` 运行多平台/多包;缓存:依赖与构建产物缓存,提高命中率;Artifact:跨 Job 复用产物与报告。条件触发与保护触发器:按路径与标签触发;条件执行:仅变更影响的包运行;环境保护:部署需审批与保护规则。示例(片段)on: push: paths: - packages/** jobs: build: strategy: matrix: { node: [18, 20], os: [ubuntu-latest] } steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 - uses: actions/cache@v4 - run: npm ci && npm test 验证与监控指标:构建时间、缓存命中率、失败率;回归:变更前后CI耗时与稳定性对比;常见误区缓存键不稳定导致命中低;可复用工作流无版本控制;条件触发缺失造成不必要运行。结语以可复用工作流与矩阵并行为基础,结合缓存与Artifact复用、条件触发与环境保护,Monorepo CI 可实现高效与可维护。

发表评论 取消回复