← 中文资源

简体中文版本

用 Nx 仅构建受影响的项目

让 Nx 依据变更文件计算受影响图,CI 只运行受影响目标,并缓存输出使未触动的项目无需重建。

阅读英文原文

概述

每次提交都全量重建与重测,会让一行改动也耗时如全量构建,拖慢评审。Nx 以变更文件为输入计算受影响图,只运行相关目标,并借助缓存避免重复计算,从而在保证正确性的前提下大幅缩短 CI。

关键步骤

  1. 以分支基线运行受影响目标。
  2. 配置远端缓存以在 CI 与开发者间共享输出。
  3. 确保项目图准确声明依赖。
  4. 定期做全量运行以防漏判。

验证

  • 仅变更及依赖它的项目被运行。
  • 重复任务命中缓存。
  • 依赖变更能正确扩散影响。
  • 定期全量运行未发现遗漏。

注意事项

  • 受影响构建依赖准确的项目图,未声明的隐式依赖会导致漏判。
  • 远端缓存会存储构建产物,配置不当可能包含敏感内容。

适用范围

本条目围绕「用 Nx 仅构建受影响的项目」给出可复制的步骤、验证方式与常见问题,适合需要按此流程落地的工程团队。执行时请结合自身上下文调整命令与阈值,并在变更前后留存证据,便于后续复核与回滚。

建议在正式环境落地前先在预发或隔离环境演练一遍,把关键观测指标与负责人一并记录,确保出现异常时能快速定位并恢复。

npx nx affected -t build test lint \
  --base=origin/main \
  --head=HEAD \
  --parallel=4