概述
凭直觉优化构建往往收效甚微。先按步骤测量时间、找出最大的贡献者,再并行化相互独立的步骤、以正确键缓存依赖与产物、移除每次提交都不必要的检查,可让缩短的时间真正落在关键路径上。
关键步骤
- 按步骤测量时间,找出主要贡献者。
- 并行化相互独立的步骤。
- 以正确的键缓存依赖与构建输出。
- 移除或推迟不必要的工作。
验证
- 实测构建时间下降。
- 未丢失测试或检查覆盖。
- 缓存命中有效。
- 前后耗时均有记录。
决策点
应先攻最大的步骤,多个小步骤的微小收益很少能改变总墙钟时间;缓存键必须正确,否则会返回陈旧结果。
适用范围
本条目围绕「缩短构建时间工作流」给出可复制的步骤、验证方式与常见问题,适合需要按此流程落地的工程团队。执行时请结合自身上下文调整命令与阈值,并在变更前后留存证据,便于后续复核与回滚。
建议在正式环境落地前先在预发或隔离环境演练一遍,把关键观测指标与负责人一并记录,确保出现异常时能快速定位并恢复。
# report the slowest steps
awk '{print $2}' timing.log | sort -nr | head
# then parallelize or cache those