用途:优化 monorepo 的 CI 流水线,通过检测受影响的包或应用,只运行必要的构建、测试与 lint,从而缩短 CI 时间。
主要能力:提供基于 Turborepo 的受影响检测(如 pnpm turbo run build --filter='...[origin/main]');基于 Nx 的方案(nrwl/nx-set-shas 配合 npx nx affected:build --base=$NX_BASE --head=$NX_HEAD);手动受影响检测脚本(git diff 加依赖图遍历);远程缓存(Turborepo 的 TURBO_TOKEN/TURBO_TEAM,Nx Cloud 的 NX_CLOUD_ACCESS_TOKEN);矩阵策略按包并行测试;工作区感知缓存;并行执行(--parallel、--concurrency)。
使用方式:在 GitHub Actions 工作流中配置,检出时需 fetch-depth: 0 以获取完整历史用于受影响检测;安装依赖后按受影响范围运行构建、测试、lint;可结合远程缓存与 Nx Cloud 分发。
适用场景:使用 Turborepo 或 Nx 的 monorepo 项目,希望在 PR 与主分支合并时减少重复构建与测试。
限制:资料未提供具体安装命令、收费与价格信息;示例中的指标(如 80% 缩减)为资料给出的示例数据,实际效果暂未提供。