10. CI 总览:从提交到反馈的最短闭环

CI 的目标:快速、可信、低噪声。

本章目标

建立 CI 的“最短反馈闭环”思维:让每次变更尽快变得可信,让问题尽早暴露。

你会掌握

CI 的目标/原则、典型流水线阶段(触发→构建→测试→门禁→制品→反馈),以及常见反模式与治理。

真实收益

你能设计一条“快且可信”的 CI:时间更短、噪声更少、失败更可解释,为 CD 打下稳定地基。

CI 的本质是“把未来的事故提前到现在”。
你越早知道问题,修复越便宜;你越晚知道问题,修复越贵,还会拖累发布节奏、打断团队专注。
所以 CI 的 KPI 不是“跑了多少任务”,而是:反馈够不够快?结果够不够可信?噪声够不够低?

1) CI 一句话定义(以及它真正的目标)

持续集成(CI)是:把每次代码变更尽早集成到主线,并用自动化验证让这次变更“可信”。

CI 的真正目标可以拆成三句:

CI 设计的第一原则:失败要离根因近。
失败发生得越晚,离根因越远;离根因越远,排障越痛苦。

2) 最短反馈闭环:从提交到“可信结论”

图 1:CI 的最短反馈闭环(动态)

CI 的主线不是“跑很多东西”,而是“尽快得出可信结论”。结论要能推动下一步:合并、回滚、修复或继续开发。

Trigger push / PR 变更进入系统 Build compile / package 尽早发现编译问题 Test & Gate unit / lint / scan 可信结论的核心 Feedback status / comment 可行动结果

3) 流水线拆解:你要把哪些事放进 CI?

建议把 CI 任务分成三类(按“反馈速度/成本/价值”排序):

图 2:测试金字塔 + 门禁分层(动态)

让“便宜且高频”的检查在最前面挡住大部分问题,把“昂贵且低频”的检查放到更合适的位置。

E2E Integration Unit Fast Gate fmt/lint/unit 分钟级反馈 Deep Gate integration/e2e/scan 更深、更贵

4) CI 的三大反模式(你一旦遇到就要治理)

治理顺序建议:先治“可信”(flaky/误报)→ 再治“速度”(并行/缓存)→ 最后治“深度”(安全/回归)。
不可信的 CI 跑得再快也没有意义。

5) 本章小结:CI 是交付系统的心跳

← 上一章:制品与依赖 下一章:测试金字塔与测试分层 →