对持续集成的需求
对持续集成的需求主要来自项目过程的痛,在代码控制和管理方面我有以下几个方面的痛:
- 环境时好时坏,开发人员对commit代码不够慎重
- 缺乏一个统一集成的报告来反映项目质量各个方面
- 各种代码检查工具运用门槛高
- 无法量化开发人员的代码质量
- 缺乏一种推进单元测试的有效手段
正因为有了上面的疼,让我想到了持续集成
持续集成原理和相应工具
持续集成的结构和原理由下图所示:
说起来就一句话,持续集成就是用一套工具自动化地接管代码构建的整个生命周期。在这么一个流程中主要需要三类工具:
- 构建工具:maven
- 调度和控制平台:hudson
- report工具:sonar
这些工具使用非常广泛,我就不多加介绍,下面记录一下我在实际项目中的具体实施过程
具体实施过程
1)搭建SCM环境
hudson每次启动构建生命周期是从去最新代码开始的,因此有必要配置好SCM环境,我在项目里使用SVN,具体配置就不多加介绍
2)配置maven,支持代码检查工具
若需要某些代码检查工具,如PMD、Cobertura等,需要在pom.xml里配置maven plugin,如下所示: