[CruiseControl] 概念

一  CruiseControl

CruiseControl既是一个Continous integration工具,也是一个创建自定义的Continous build process的框架。 cruisecontrol被设置高度可扩展,可以使用plugin对cruisecontrol的功能无限扩展。目前它已经包含非常多的plugins,例如与source control的交互, 各种build technologies的支持,email和im来提醒和通知用户。标准的CruiseControl的发布版就已经包含了大量的plugins(3rd party tools)。

CruiseControl使用Java实现,现在已经被用于大量的projects。CruiseControl支持非常多的builders,例如Ant, NAnt, Maven, Phing, Rake, and Xcode, and  exec 来执行所有的其他的命令行和脚本.

CruiseControl是开源的且基于BSD-style的license发布。

同时CruiseControl也被翻译为了 .NET and Ruby版本。

 

主页:http://cruisecontrol.sourceforge.net/

 

二  CruiseControl组件

CruiseControl由主要的3个模块组成:

1)Build Loop: 系统的核心,它触发build cycles和通过各种发布技术来将build结果通知所有的用户。触发的时机可以是定时地,或根据Source Control Management上的代码的改变来触发。它通过xml来配置build过程中的task,task是由对应的plugin来实现的。

2)Jsp Report: 允许用户浏览build的log和访问build的结果。
3)Dashboard: 对所有的project的状态提供更加可视化,直观的表现。

另外可以使用remote技术(HTTP,RMI)来控制和监视CruiseControl的Build Loop,但是默认处于安全的考虑是关闭的。

 

CruiseControl还可以使用distributed package来支持分布式build。

 

组件关系:

 

二  CruiseControl运行

 1)CruiseControl

2)Continous Integration

 

完!

posted @ 2010-05-20 15:31  iTech  阅读(1053)  评论(0编辑  收藏  举报