← 中文资源

简体中文版本

缩短构建时间工作流

剖析构建时间去向、并行化相互独立的步骤、缓存昂贵步骤,并移除不必要的工作使 CI 反馈更快。

阅读英文原文

概述

凭直觉优化构建往往收效甚微。先按步骤测量时间、找出最大的贡献者,再并行化相互独立的步骤、以正确键缓存依赖与产物、移除每次提交都不必要的检查,可让缩短的时间真正落在关键路径上。

关键步骤

  1. 按步骤测量时间,找出主要贡献者。
  2. 并行化相互独立的步骤。
  3. 以正确的键缓存依赖与构建输出。
  4. 移除或推迟不必要的工作。

验证

  • 实测构建时间下降。
  • 未丢失测试或检查覆盖。
  • 缓存命中有效。
  • 前后耗时均有记录。

决策点

应先攻最大的步骤,多个小步骤的微小收益很少能改变总墙钟时间;缓存键必须正确,否则会返回陈旧结果。

适用范围

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

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

# report the slowest steps
awk '{print $2}' timing.log | sort -nr | head
# then parallelize or cache those