CruiseControl(简称CC)是使用java语言编写的一个持续集成工具,有良好的框架,可以在其基础上二次开发成我们自己定制的持续集成工具。CruiseControl集成了很多插件如:源码控制、邮件通知、实时消息通知等等。而且他提供了一个web界面使我们更加方便的查看构建项目的当前以及历史状态。虽然CruiseControl使用java语言编写,但并不限制只构建JAVA项目,也可以通过ant等脚本构建各种语言的持续集成环境。在这里主要参考一些文档部署了自己的一个Java project,下面简单介绍一下过程。
CruiseControl环境配置
1. 从官方站点http://cruisecontrol.sourceforge.net/download.html下载一份最新的 CC 压缩包,最新的版本号为2.8.4。将cruisecontrol-bin-2.8.4.zip 直接解压到D盘下,文件结构如下图:
2. 安装JDK。CC需要运行在至少JDK 1.4环境中,我安装的是1.6(注意:安装1.7会报错不能运行)。在环境变量中设置JAVA_HOME值为C:\Program Files\Java\jdk1.6.0_10,将C:\Program Files\Java\jre6\bin加到path中。
3. 安装Subversion。一开始部署完CC运行时总抛错,大概意思是svn不能执行,然后发现自己电脑上只安装TortoiseSVN没有安装SVN,这样在局域网内用用还是可以的。另外如果两个都安装了但是版本不配也会报错,我的 TortoiseSVN版本是1.7.5,安了个1.6.6的SVN还是运行不起来,提醒说必须要1.7.0以上,同上将Subversion\bin加到path中。
4. 运行根目录下的cruisecontrol.bat。在浏览器中输入:http://localhost:8080/dashboard/,出现下图表示安装成功
5. 从SVN仓库中checkout出源码。CruiseControl第一次不支持自动检出代码,所以在构建项目之前要先把项目代码手工checkout到本地。工程代码是放在Google Code上面(Google Code用的是SVN ),名称是project_test,源文件放在trunk目录下。将代码检出到cruisecontrol-bin-2.8.4/projects/ project_test 目录下,保证该目录下可以找到名为build.xml文件。build文件内容:(调用ANT执行集成流程,包括清空目录、编译、休眠、打包)
6. 修改配置文件。将下面的代码段加入到config.xml文件中,位于
/>
mailport="25" defaultsuffix="@163.com" username="tester000001@163.com" password="qatest11112" returnname="CruiseControl" skipusers="true" spamwhilebroken="true" returnaddress="tester000001@163.com">
#简单设置了一下发送结果邮件
7. 保存之后坐等看结果。根据上面的配置,五分钟后CC会做新一轮的检查与构建,将新的project加进去,如下:
8. 对于配置及监控方面的问题后续研究