`
gigix
  • 浏览: 353263 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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

阅读更多

什么是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”,你现在就可以。
分享到:
评论
14 楼 gigix 2007-07-12  
cookoo 写道
gigix,我粗略看了一下代码,内核和svn结合得蛮紧,每5秒去检查一下svn的revision情况。有没有考虑支持别的VCS?

我记得在JIRA上有一个关于CVS的story,似乎到目前为止只支持SVN。
到了需要支持下一种版本控制的时候,自然会重构出一个结合得不紧的结构的。
13 楼 cookoo 2007-07-12  
gigix,我粗略看了一下代码,内核和svn结合得蛮紧,每5秒去检查一下svn的revision情况。有没有考虑支持别的VCS?
12 楼 gigix 2007-07-12  
hideto 写道
装了mongrel,也按照daemon/cruise说的做了,还是不能开机启动,但可以/etc/init.d/cruise start|stop启动和关闭
无奈,修改~/.bash_profile和~/.bash_logout,总算ok了

那个……要开机自动运行的话,标准的做法是把服务注册在inittab里面
http://www.netadmintools.com/html/5inittab.man.html
但是
如果你用Ubuntu Feisty的话,这帮人已经废弃了inittab,用了一个叫upstart的东西
http://upstart.ubuntu.com/
可以参考/etc/event.d/logd的格式来写upstart脚本,或者参考这个
runit的开机自动运行脚本
11 楼 hideto 2007-07-11  
装了mongrel,也按照daemon/cruise说的做了,还是不能开机启动,但可以/etc/init.d/cruise start|stop启动和关闭
无奈,修改~/.bash_profile和~/.bash_logout,总算ok了
10 楼 hideto 2007-07-11  
“daemon mode of CC.rb requires mongrel installed.”
晕阿,不早说
9 楼 gigix 2007-07-11  
问题1:在CC.rb的daemon目录下有一个cruise.sample文件,里面写了如何把CC注册成一个daemon

问题2:应该没有了。请确认你所用的smtp和用户名/密码可用。注意:CC.rb不支持ssh authentication。
8 楼 hideto 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邮件,是否还需要配置别的文件?能否给个配置的例子?
7 楼 gowhere 2007-05-14  
理解不了getting-started,谁来帮我解释一下...
6 楼 dongbin 2007-03-15  
好东西,看来要放弃cerberus了。
5 楼 gigix 2007-03-14  
yuxie 写道
定时构建主要考虑这样的场景:测试人员发现bug,开发人员修改后提交,但此时并不构建,因为重启服务器会让测试人员很郁闷(当然,ror不会有这个烦恼),在中午吃饭时build,成功后测试人员回归。
我们现在用luntbuild实现这个功能。

continuous integration server自己在那边build,跟测试人员有什么关系?
所谓持续集成,要求每次集成的环境是可复制的、(尽量)不受外界干扰的。如果测试人员需要一个服务器来做手工测试,把持续集成build的结果发布到另一台服务器给他们用好了。
4 楼 yuxie 2007-03-14  
定时构建主要考虑这样的场景:测试人员发现bug,开发人员修改后提交,但此时并不构建,因为重启服务器会让测试人员很郁闷(当然,ror不会有这个烦恼),在中午吃饭时build,成功后测试人员回归。
我们现在用luntbuild实现这个功能。
3 楼 ozzzzzz 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版本来构建,就不加一个简单的定时构建功能呢?

所以才叫持续集成

2 楼 gigix 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只要构建一次就够了吧。
1 楼 yuxie 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版本来构建,就不加一个简单的定时构建功能呢?

相关推荐

    持续集成之CruiseControl.rb

    **持续集成之CruiseControl.rb** CruiseControl.rb是一款开源的持续集成工具,主要用于自动化构建、测试和部署软件项目。它是由ThoughtWorks公司开发的,是CruiseControl.NET的Ruby版本,因此在Ruby社区中被广泛...

    cruisecontrol.rb:Ruby的CruiseControl。 把事情简单化

    CruiseControl.rb:简单的持续集成 ###介绍 是一个服务器。 它使团队中的每个人都了解项目的运行状况和进度。 CC.rb易于安装,易于使用且易于破解。 它是用Ruby编写的,并由软件开发咨询公司的开发人员在业余...

    持续集成工具CruiseControl.part1

    CruiseControl is both a continuous integration tool and an extensible framework for creating a custom continuous build process. It includes dozens of plugins for a variety of source controls, build ...

    持续集成工具CruiseControl.part2

    CruiseControl is both a continuous integration tool and an extensible framework for creating a custom continuous build process. It includes dozens of plugins for a variety of source controls, build ...

    持续集成工具CruiseControl.part4

    CruiseControl is both a continuous integration tool and an extensible framework for creating a custom continuous build process. It includes dozens of plugins for a variety of source controls, build ...

    持续集成工具CruiseControl.part3

    CruiseControl is both a continuous integration tool and an extensible framework for creating a custom continuous build process. It includes dozens of plugins for a variety of source controls, build ...

    持续集成及CruiseControl技术交流

    主题:持续集成及CruiseControl技术交流 在提升软件质量、降低研发风险、拒绝浪费方面,处于敏捷实践领域的持续集成(Continuous Integration,CI)起到重要作用。持续集成能够解决研发工作中的80%任务(日常),...

    全套汽车巡航系统模糊控制设计Matlab文件-CruiseControl.zip

    全套汽车巡航系统模糊控制设计Matlab文件-CruiseControl.zip 全套m.file文件,包括模型和 CruiseControl.zip 模糊控制器设计。

    cruisecontrol_ant_svn持续集成

    cruisecontrol.war 文件,你可以直接将这个文件 COPY 到你的%TOMCAT_HOME%\webapps 目录下,不 过这种方式通常都会出错,前 面我们讲过CC的WEB组件要访问我们的项目build 的状态文件,而下载的 CC2.2 里面自带的 ...

    CruiseControl简介及使用举例

    CruiseControl是一款持续集成工具,它能够自动化地执行软件项目的构建、测试和部署流程,以确保代码的质量和项目的稳定性。本篇文章将详细介绍CruiseControl的基本概念、安装过程、配置方法以及一个简单的使用示例。...

    CruiseControl持续集成

    CruiseControl是CI服务器的老者,诞生已是多年,在许多方面,CruiseControl服务器已经成为持续集成实践的同义词。而现在,CruiseControl已发展成为一个家族式系统,包括CruiseControl.java、CruiseControl.net、...

    持续集成实践之CruiseControl

    **持续集成实践之CruiseControl** 在软件开发领域,持续集成(Continuous Integration,简称CI)是一种重要的实践,它强调开发者频繁地将代码更改合并到主分支,以尽早发现并解决问题。CruiseControl是一款开源的...

    cruisecontrol配置定时运行

    CruiseControl是一款持续集成工具,它能够自动化地构建、测试和部署软件项目,极大地提高了开发效率和产品质量。在本文中,我们将深入探讨如何配置CruiseControl以实现定时运行,确保项目始终保持最新状态。 首先,...

    cruisecontrol.rar_仿真模型_汽车_汽车PID_汽车控制_汽车模型

    "cruisecontrol.rar"是一个关于汽车控制系统的仿真模型,其中包含了汽车模型以及PID控制模型的整合。本文将详细解析这一主题,帮助读者深入理解PID控制在汽车控制中的原理与应用。 首先,汽车模型是整个控制系统的...

    利用CruiseControl软件进行持续集成

    "利用CruiseControl软件进行持续集成" 在软件开发过程中,持续集成是一个非常重要的步骤,它可以帮助开发团队更好地合作和跟踪项目的进度。CruiseControl是一种流行的持续集成工具,能够自动化地构建、测试和部署...

    cruisecontrol配置文件.rar

    CruiseControl 是一个开源的持续集成工具,用于自动化软件构建、测试和部署的过程。它通过监控版本控制系统中的变更,自动触发构建任务,及时发现并解决代码集成中的问题,从而提高开发团队的效率和软件质量。本...

    [CruiseControl]binary安装和启动

    CruiseControl 是一个持续集成工具,用于自动化构建过程并提供实时反馈,帮助开发团队尽早发现问题。它支持多种构建工具如 Ant 和 Maven,并且可以与各种版本控制系统(如 CVS, Subversion 等)集成。 #### 二、...

    cruise_control.zip.zip

    【标题】"cruise_control.zip.zip" 暗示我们正在处理一个被压缩的文件,该文件可能包含有关“巡航控制”系统的数据或软件。在IT领域,巡航控制通常指的是自动化构建和部署的过程,用于持续集成和持续交付(CI/CD)...

    持续集成(CruiseControl-2.7.3)

    CruiseControl是一款开源的持续集成服务器,版本2.7.3提供了自动化构建、测试和部署的功能,帮助团队高效协作,确保软件质量。 安装CruiseControl非常简单,可以下载exe安装文件直接安装,并通过`cruisecontrol.bat...

Global site tag (gtag.js) - Google Analytics