CI(持续集成):代码提交后自动构建与测试,尽早发现问题;CD(持续交付/部署):验证通过后自动部署到环境,直至生产。
一条成熟流水线包含:触发 → 构建 → 测试 → 部署 → 通知,每个环节都有明确的质量门。
核心价值:把“人肉发布”变成“流水线发布”,稳定、可审计、可回滚。
流水线的标准组成。
Push/PR/定时自动触发。
编译打包、产物留存。
单测、集成、质量门禁。
测试/预发/生产环境分发。
失败自动/一键回滚。
构建结果及时通知团队。
从零到自动化。
定分支策略、提交规范、测试要求,让流水线有依据。
提交即构建测试,把问题拦截在合并前。
按环境逐级部署,先测试/预发,验证后再上生产。
通知、监控、回滚机制齐备,让发布可感知可兜底。
按团队与场景选工具。
| 工具 | 特点 | 适合场景 |
|---|---|---|
| GitHub Actions | 仓库集成、免费额度 | GitHub 生态团队 |
| GitLab CI | 一体化、自托管 | GitLab 团队 |
| Jenkins | 老牌、插件丰富 | 存量工程/自建 |
| 云原生 CI | 托管、免运维 | 云上团队 |
需要。GitHub Actions 免费额度够用,配置一次省下每次发布的人力与风险。从简单开始。
缓存依赖、并行任务、增量构建、只跑变更相关测试,按瓶颈逐项优化。
自动/一键回滚 + 完整日志 + 告警通知,让失败可见、可查、可恢复。
核心路径必须进,全量测试可分级:提交跑快测试,PR 跑全量,控制整体时长。
