实现持续集成
1. 先决条件
- 版本控制。与项目相关的内容都必需提交到一个版本控制库中,包括产品代码、数据库脚本、构建与部署脚本,以及所有用于创建、安装、运行和测试该应用程序的东西
- 自动化构建。人和计算机都能通过命令行自动执行应用的构建、测试以及部署过程
- 团队共识。需要开发团队能够给予一定的投入并遵守一些准则,需要每个人都能以小步提交的方式频繁地将修改后的代码提交到主干上,并一致认同“修改破坏应用程序的任意修改是最高优先级的任务”
2. 一个基本的持续集成系统
- 满足先决条件
- 选择并安装好持续集成工具
- 进行相应配置
持续集成的前提条件
- 频繁提交
- 创建全面的自动化测试套件
单元测试,组检测试,验收测试 - 保持较短的构建和测试过程
- 管理开发工作区
细心的配置管理,对第三方依赖的配置管理,确保自动化测试都能在开发机上运行
使用持续集成软件
1. 基本操作
持续集成软件包括两部分:
一个一直运行的进程。每隔一段时间就执行一个简单的工作流程
提供展现这个流程运行结果的视图。通知你构建和测试成功与否
通常,持续集成工作流以规定的时间间隔对版本控制系统进行轮询
2. 铃声和口哨
可以将最近一次的构建状态发送到一个外部设备上,让构建状态可视化
可以在构建过程中对源代码进行一些分析工作
可以将工作分发到构建网络中,并管理这些构建以及依赖集合
必不可少的实践
- 构建失败之后不要提交新代码
- 提交前在本地运行所有的提交测试,或者让持续集成服务器完成此事
- 等提交测试通过后再继续工作
- 结束每天工作前,构建必需处于成功状态
- 时刻准备着回滚到前一个版本
- 再回滚之前要规定一个修复时间
- 不要将失败的测试注释掉
- 为自己导致的问题负责
- 测试驱动的开发
总结
- 频繁提交代码到主干
- 保证版本控制库中的代码都是可成功运行的代码
- 在每次提交代码之前都要运行测试,测试运行通过后才能继续工作
- 测试驱动开发