首页/开发/CI/CD 与发布速查/流水线提速清单
流水线设计54 条

流水线提速清单

从等待结构上压缩时长:并行化、缓存、DAG、增量与预构建镜像,逐项测量收益再推广。

CI/CD 与发布速查开发更新于 2026-10-13

流水线提速是什么

从等待结构上压缩流水线时长:并行化(DAG 依赖、矩阵、测试分片)、缓存、增量构建、预构建镜像,逐项测量收益再推广。先分清三段时长:排队看容量与并发,执行看任务本身,关键路径才是真正决定反馈时间的链路;优化不在链上的步骤,反馈时间纹丝不动。

基本信息

结构性手段DAG 依赖、矩阵并行、测试分片、缓存命中去重
环境手段预热镜像与依赖镜像、就近 Runner
流程手段只跑受影响范围、删除重复步骤、推迟非阻塞检查
度量三段排队、执行、关键路径分开统计
原则先测后改,每次只改一项并记录前后对比

典型使用场景

  • 提交变慢:先看排队时长,判断是容量问题还是任务问题。
  • 依赖安装占大头:先做缓存与镜像预装,再谈测试优化。
  • 长尾作业:找出关键路径上最慢的节点单独优化。
  • 无效重复:删除重复步骤与已经过期的检查项。
  • 缓存恶化:监控命中率,掉下去先修缓存键再扩容。
  • 节奏控制:流水线更快后提交更频繁,容量需要同步跟上。

测量口径

测量口径
关注三段时长:
- 排队(queued):容量与并发问题
- 执行(running):任务本身
- 关键路径(critical path):真正决定反馈时间的链路

手段与前提

手段典型收益前提
DAG 依赖消除阶段间空等依赖关系梳理清楚
缓存依赖重复安装变命中缓存键稳定、命中率被监控
测试分片长测试套件时间收敛用例可均匀切分
预构建镜像省去环境准备时间镜像有维护机制
先测后改:多数团队的瓶颈集中在排队与重复安装依赖,而非测试本身。
关键路径思维:优化前先确认目标步骤确实在关键路径上,否则做完毫无感知。
为速度牺牲稳定性:跳过必要检查省下的时间,会在故障处理里加倍偿还。

易错点

  • 只盯总时长不看排队:扩容 Runner 可能比优化脚本更有效,需数据支撑。
  • 缓存命中率不监控:缓存键改坏后无人察觉,时长悄悄回归。
  • 优化不在关键路径上的步骤:浪费精力,反馈时间不变。
  • 加缓存后忘记失效条件:过期依赖进入构建,产物受到污染。
  • 并发拉满挤占共享资源:其他流水线排队变长,整体吞吐反降。
  • 多因素同时改:无法归因哪项生效,流水线优化要单变量推进。

数据来源与参考

  • GitLab Docs《Pipeline efficiency》
  • Google Cloud《DevOps 技术能力》
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌