CruiseControl.rb(简称CC.rb)是由ThoughtWorks开发并贡献给开源社区的持续集成工具。遵循Rails项目一贯的“convention over configuration”原则,CC.rb针对Rails项目制订了一组很有意义的持续集成惯例约定,大部分Rails项目不需要任何额外工作就可以在CC.rb上开始持续集成。除了Rails项目之外,CC.rb也支持其他项目的持续集成:Ruby项目、Java项目、.NET项目、甚至C项目。已经有数个开源项目成功应用CC.rb进行持续集成。.
配置步骤:
1,下载并解压CruiseControl.rb ?http://cruisecontrolrb.thoughtworks.com/
不要误以为CruiseControl.rb是一个rb文件!
2,添加你的project到CruiseControl
代码
cd?${CC_HOME} ??
sudo?./cruise? add? hilog? --url ?svn://localhost/repos/hilog ?--username ?hideto? --password? hideto??
其中hilog为项目名,--url加项目的svn地址,--username和--password为svn用户和密码
3,启动CC
代码
sudo?./cruise?start??
现在可以访问CC Dashboard了
Dashboard页面会显示最新的checkin帐号,历史build信息以及一个"Build Now"按钮
点击“Build Now”开始build,后台CC服务器进程会打印一些build过程信息,最终build结果在Dashboard上显示
4,每次svn做新提交时,CC会自动更新${CC_HOME}/projects/hilog/work下的项目拷贝
比如我们更新数据库配置database.yml,并svn 提交,我们会看到work下的database.yml文件会自动更新
5,我们可以修改${CC_HOME}/projects/hilog/cruise_control.rb文件
这个文件是CC对我们的项目进行build的配置文件
比如我们将它更改为如下内容:
代码:
Project.configure?do?|project| ??
?? project.rake_task = 'metrics:all'
? project.scheduler.polling_interval = 24.hours
end??
这样,我们将rake任务改为调用metric_fu工具进行静态代码分析,并且每24小时执行一次。