持续集成Continuous Integration,一句话概括,就是在指定间隔的时间内对项目进行编译、打包、发布、测试、反馈,以保证项目的正确性。
前段时间,我一直在构建持续集成的开发环境,因为之前对其一直没有一个直观的认识,通过这次持续集成实践,我认识到持续集成对开发过程带来的巨大好处,它降低了集成的风险、提高了产品的质量、减少了bug的数量..... 持续集成应该成为每一个开发团队的常规配置,而不应该是非常规(忘记从哪儿看到的了)。
Teamcity是一个简单的持续集成工具,其核心就是一个定时器和一系列对外接口。本身并不能满足我们的持续集成环境,所谓一个好汉三个帮,它需要其它的工具一起来配合完成。
基本环境如下:
OS: hp-unix
APP Server: weblogic 9.2.3
DB: oracle 10g
JDK: jdk 1.5.0.11
持续集成相关环境如下:
VCS: subversion(通过证书访问)
CI Tool: Teamcity 4.5.4
Unit test: Junit 4.7,easymock 2.5.1
Coverage Tool:emma(TC集成)
Code inspection tool:findbugs 1.3.8
首先,teamcity是我们整个持续集成环境的核心,它支持的环境或者工具不只是上面所列的这些,更加全面的请查看其文档。
其次,这里用到的其他工具的详细使用,请查找各自的站点。
最后,让我们开始吧。