Jenkins 来源于Hudson,本系列都是基于Jenkins的运用所写。
在使用Jenkins之前,你的开发集成模式可能处于如下阶段:
1. 无中央构建服务器
可能有编译脚本,如Ant,makefile。
也可能有中央代码仓库,如Perforce,SVN,Git,但开发没有定期提交代码的习惯。
本地编译,手动集成改动。
2. 夜间构建
有中央构建/编译服务器,定期触发。无可靠或者可重复的单元测试。编译失败可以报警,比如发送email到相关人员
3. 夜间构建加自动化测试
代码更新到版本控制系统时会自动触发编译/构建过程,可以触发自动化单元和集成测试,可以发送邮件进行状态通知
4. 加入度量指标
提供自动化代码质量检测,和测试代码覆盖率的检查。可以评估代码库的质量和测试相关性。可以生生API文档。提供Dashboard仪表板可以对编译、测试结果进行公开展示
5.不再是简单的编译和测试
测试通过时,可以被自动部署到服务器,然后进行端对端,以及性能测试
6.自动化测试验收和自动化部署
非专业人员可以看懂的测试结果。QA团队可以自己触发构建,部署自动完成。可以手动触发并交付到生产环境,并且支持回滚
7.持续部署
再上一个阶段基础上对自动化的单元,集成,验收测试有足够信心。可以将新的变化直接推送到生产环境。
如果你的开发集成还处于1,2,3,4,5,6的阶段,那么本系列可能会对你有用。