程序员如何做「持续集成」:不是流水线,是信心
持续集成(CI)是把代码从提交到部署的自动化流程。
好的 CI 让团队每天都有信心发布,不好的 CI 让每次发布都胆战心惊。
一、持续集成的流程
1. 代码提交
开发者 push 代码到版本库。
2. 自动构建
触发构建,拉取代码,编译打包。
3. 自动测试
运行单元测试、集成测试。
4. 构建产物
生成可部署的产物(Docker 镜像、JAR 包)。
5. 部署测试环境
自动部署到测试环境。
6. 反馈结果
通知开发者构建和测试结果。
二、CI 的核心原则
1. 快速反馈
CI 的价值在于快速反馈。
构建 + 测试最好在 10 分钟内完成。
2. 保持构建绿色
主分支时刻保持可部署状态。
Broken build 要立即修复。
3. 每次提交都构建
不只是构建,还要测试。
4. 自动化一切
人肉部署 = 高风险。
三、CI 工具有哪些
1. Jenkins
- 开源,插件丰富
- 灵活,定制性强
- 需要自己维护
2. GitLab CI
- 和 GitLab 深度集成
- YAML 配置简单
- 适合 GitLab 用户
3. GitHub Actions
- 和 GitHub 集成
- 市场丰富
- 适合 GitHub 用户
4. Travis CI
- 简单易用
- 支持 GitHub
- 开源项目免费
四、CI 最佳实践
1. 分支策略配合
- 主分支保护
- PR review 后合并
- CI 通过后才能合并
2. 失败通知
- 邮件/钉钉/Slack 通知
- 失败第一时间通知
3. 增量构建
- 只构建 changed 的部分
- 加快构建速度
4. 测试并行
- 多个测试用例并行跑
- 减少总时间
五、一句话总结
持续集成 = 提交 → 构建 → 测试 → 反馈,快速反馈 + 保持构建绿色 + 自动化一切。