论坛首页 编程语言技术论坛

持续集成上铁道——CruiseControl.rb简介

浏览 18301 次
该帖已经被评为良好帖
作者 正文
   发表时间:2007-03-14  

什么是CruiseControl.rb


CruiseControl.rb(简称CC.rb)是由ThoughtWorks开发并贡献给开源社区的持续集成工具。它的名字来源于ThoughtWorks发起的另一个开源项目CruiseControl,乍看之下也颇有几分相似。

为什么需要CruiseControl.rb


因为它特别适用于Ruby on Rails项 目。遵循Rails项目一贯的“convention over configuration”原则,CC.rb针对Rails项目制订了一组很有意义的持续集成惯例约定,大部分Rails项目不需要任何额外工作就可以 在CC.rb上开始持续集成。这也正是很多项目可以在5分钟内搞定持续集成环境的原因。如果你需要与众不同的构建设置,CC.rb也允许你以非常简单的方式指定这些设置——没有XML,配置都是你熟悉的Ruby代码。

除了Rails项目之外,CC.rb也支持其他项目的持续集成:Ruby项目、Java项目、.NET项目、甚至C项目。已经有数个开源项目成功应用CC.rb进行持续集成。实际上,CC.rb开发团队正在努力找出哪类项目不适合用CC.rb来持续集成,但我们目前还没有找到,反而发现用CC.rb做各种项目的持续集成都相当容易。

( 如果你想知道Ruby on Rails框架最新的代码是否健康良好,可以随时查看它的持续集成结果。)

CruiseControl.rb的未来


在即将到来的1.1版本中,CC.rb会加入多阶段构建、分布式构建等先进的持续集成理念。从正在开发的故事列表中,可以大致看出CC.rb未来的方向。

如何帮助CruiseControl.rb


CC.rb是一个非常新的开源项目。尽管我们认为它很出色,但它的功能仍然很不完善,还有很多问题存在。CC.rb需要整个社群的帮助,而你现在就可以帮助它。

你可以用5分钟来试用CC.rb,并把它介绍给你的同事和朋友。如果你遇到bug或者认为CC.rb还缺少什么功能,请报告给我们。你也可以帮助我们修复完善CC.rb。在熟悉了CC.rb的体系之后,你还可以创建你自己的CC.rb插件。当然如果你英语过硬,还可以帮助我们完善文档

让你的项目持续集成也“on Rails”,你现在就可以。
   发表时间:2007-03-14  
发现一个细节:
CruiseControl.rb的demo上有最近的一次build信息

gigix committed the checkin
Comments:
issue # 17: add rss to builds/project_name page

但是在jira上,issue # 17 是指给 Zhang Lin的。

偶先看的jira上的这个任务,正对rss支持比较感兴趣。gigix同学接着就加上了。


不过,为什么 CruiseControl系列就是非得按照svn版本来构建,就不加一个简单的定时构建功能呢?
0 请登录后投票
   发表时间:2007-03-14  
yuxie 写道
发现一个细节:
CruiseControl.rb的demo上有最近的一次build信息

gigix committed the checkin
Comments:
issue # 17: add rss to builds/project_name page

但是在jira上,issue # 17 是指给 Zhang Lin的。

偶先看的jira上的这个任务,正对rss支持比较感兴趣。gigix同学接着就加上了。


不过,为什么 CruiseControl系列就是非得按照svn版本来构建,就不加一个简单的定时构建功能呢?

我和ZhangLin今天pair做这个
定时构建是不是真的有用呢?一个svn revision只要构建一次就够了吧。
0 请登录后投票
   发表时间:2007-03-14  
yuxie 写道
发现一个细节:
CruiseControl.rb的demo上有最近的一次build信息

gigix committed the checkin
Comments:
issue # 17: add rss to builds/project_name page

但是在jira上,issue # 17 是指给 Zhang Lin的。

偶先看的jira上的这个任务,正对rss支持比较感兴趣。gigix同学接着就加上了。


不过,为什么 CruiseControl系列就是非得按照svn版本来构建,就不加一个简单的定时构建功能呢?

所以才叫持续集成

0 请登录后投票
   发表时间:2007-03-14  
定时构建主要考虑这样的场景:测试人员发现bug,开发人员修改后提交,但此时并不构建,因为重启服务器会让测试人员很郁闷(当然,ror不会有这个烦恼),在中午吃饭时build,成功后测试人员回归。
我们现在用luntbuild实现这个功能。
0 请登录后投票
   发表时间:2007-03-14  
yuxie 写道
定时构建主要考虑这样的场景:测试人员发现bug,开发人员修改后提交,但此时并不构建,因为重启服务器会让测试人员很郁闷(当然,ror不会有这个烦恼),在中午吃饭时build,成功后测试人员回归。
我们现在用luntbuild实现这个功能。

continuous integration server自己在那边build,跟测试人员有什么关系?
所谓持续集成,要求每次集成的环境是可复制的、(尽量)不受外界干扰的。如果测试人员需要一个服务器来做手工测试,把持续集成build的结果发布到另一台服务器给他们用好了。
0 请登录后投票
   发表时间:2007-03-15  
好东西,看来要放弃cerberus了。
0 请登录后投票
   发表时间:2007-05-14  
理解不了getting-started,谁来帮我解释一下...
0 请登录后投票
   发表时间:2007-07-11  
有两个问题请教:
1,在/etc/rc2.d/下写开机启动脚本不成功
#!/bin/sh
/home/hideto/cruisecontrol/cruise start -d

我配置trac和svn都是以上述办法开机后台启动的
有没有什么办法可以开机时以后台方法运行cc.rb?

2,我配置~cruise/config/site_config.rb里的smtp和projects/myproject/cruise_config.rb里的email接收者,但是还是收不到notifer邮件,是否还需要配置别的文件?能否给个配置的例子?
0 请登录后投票
   发表时间:2007-07-11  
问题1:在CC.rb的daemon目录下有一个cruise.sample文件,里面写了如何把CC注册成一个daemon

问题2:应该没有了。请确认你所用的smtp和用户名/密码可用。注意:CC.rb不支持ssh authentication。
0 请登录后投票
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics