什么是持续集成
持续集成(Continuous Integration),简称CI,是持续地编译、测试、审查、打包、部署源代码的过程,是一种软件开发实践。
持续集成的好处
可以让整个团队在持续工作的基础上收到反馈并进行改进,不必等到开发周期后期才搜索和修复缺陷,尽早及时的发现及反馈问题,减少风险,减少人工手动的过程,提高团队合作的效率。
持续集成的思想
用一张图展示持续集成的基本思想。
持续集成的工作
同样用一张图展示持续集成的工作内容。
如何做到持续集成
1)自动发现变更:对于资源的变更,无论是实时监测还是定时轮训,需要做到自动检测到更变,自动触发持续集成工作;
2)自动化构建:做到无人工操作,无人值守;
3)自动测试:自动触发测试;
4)自动审查:自动触发资源审查;
5)自动部署:自动触发部署;
6)反馈问题:对于出现的问题及缺陷能够及时反馈给相关人员;
7)回滚机制:出现问题后,可回滚到正常的版本。
持续集成原则
1)编写符合规范的代码;
2)编写单元测试;
3)建议将数据库脚本放入版本库中;
4)在进行代码提交之前,需要在本地独立构建一次,避免提交之后出现问题中断持续集成;
5)如果出现问题,修复问题是优先级最高的工作。
持续集成工具
Jenkins(推荐)、Apache Continuum、CruiseControl、Hudson、Luntbuild。
其它相关工具
构建工具:gradle(推荐)、maven
单元测试:junit、mockito、moco
代码审查:CheckStyle、PMD、findbugs、jacoco