概述
每次提交都全量重建与重测,会让一行改动也耗时如全量构建,拖慢评审。Nx 以变更文件为输入计算受影响图,只运行相关目标,并借助缓存避免重复计算,从而在保证正确性的前提下大幅缩短 CI。
关键步骤
- 以分支基线运行受影响目标。
- 配置远端缓存以在 CI 与开发者间共享输出。
- 确保项目图准确声明依赖。
- 定期做全量运行以防漏判。
验证
- 仅变更及依赖它的项目被运行。
- 重复任务命中缓存。
- 依赖变更能正确扩散影响。
- 定期全量运行未发现遗漏。
注意事项
- 受影响构建依赖准确的项目图,未声明的隐式依赖会导致漏判。
- 远端缓存会存储构建产物,配置不当可能包含敏感内容。
适用范围
本条目围绕「用 Nx 仅构建受影响的项目」给出可复制的步骤、验证方式与常见问题,适合需要按此流程落地的工程团队。执行时请结合自身上下文调整命令与阈值,并在变更前后留存证据,便于后续复核与回滚。
建议在正式环境落地前先在预发或隔离环境演练一遍,把关键观测指标与负责人一并记录,确保出现异常时能快速定位并恢复。
npx nx affected -t build test lint \
--base=origin/main \
--head=HEAD \
--parallel=4