cc.net与hudson比较报告
目录
前言
cc.net是持续工具CruiseControl的.net版本,采用.Net框架实现,提供了对于Windows平台和.Net编程更多更友好的支持。Hudson持续工具则是运行于java环境。两者比较如下:
1、 优势
cc.net优势
1. 有第三方工具cctray监控构建状态
2. 构建结果的报告有html格式,简洁查阅
Hudson优势
1. 易于安装部署
2. 友好的脚本配置界面
3. 构建进度即时掌握
4. 支持分布式构建
5. 远程监控外部定时任务
6. 插件方便管理
7. 支持用户管理
8. 支持构建队列控制
2、 看点
脚本配置方式
1. CC.NET需要利用第三方工具CCNETConfig来支持脚本配置以保证脚本格式可靠.
2. hudson工具本身Dashboard平台就提供了友好的web-UI
SVN仓库监控
1. CC.NET支持众多的版本控制工具,以下是SVN控制块的参考信息
2. hudson可以支持众多的版本控制工具,可以通过插件管理加载.以下默认最基本的CVS/SVN
构建触发器
1. cc.net支持以下几种构建启动时间方式
2. hudson
Nant脚本启动支持
1. CC.NET支持调用NANT脚本,配置形式:
2. hudson有nant支持插件,以下是工具路径及信息配置的形式:
构建中断
1. cc.net可以通过监控工具cctray或web构建视图选中构建对象,在弹出如下的快捷菜单里选中abort build
2. hudson可以在Build History中,在构建进行中的报告旁边有X按钮,单击它可以关闭
构建报告查阅
1. cc.net的构建报告是在构建结束后生效的
2. Hudson支持即时日志查阅即在构建进行中跟踪构建进度(亮点)
构建报告发送方式
1. cc.net
邮件通知
Rss支持
2. Hudson支持email发送
邮件通知
通过rss定阅(for all/for filures)
3、 结论
结合现有构建环境是由cc.net+nant实现,所有构建业务(编译/打包/签名)都是由nant脚本来完成,所以不管是用cc.net还是用hudson,其要做的事情不多,最常见也就监控源码变化,指定构建周期,启动nant脚本,发送构建报告这几个.
我们引入一个需求:假设一次构建有3个任务要跑:删除代码重取,编译,打包(已用ant/Nant来实现这3任务)。要求:
1. 全取全编即构建时代码全部删除,3个任务全执行
2. 部分编译即只需要删除部分代码,只执行个别任务(如编译动作)
那么,采用cc.net你需要配置多个project来支持;采用hudson你需要配置多个job来支持.
当项目少,版本少这种支持方式完全足够用;但当项目多,版本开发协作分支线多,这种支持方式就很不方便了:构建脚本冗余/维护代价高.这时候我们一定希望工具有以下几个支持点:
1. 只需配置源码仓库就可以自动关联,支持选中任意开发线都可以构建
2. 各构建业务环节(编译/打包)可以独立进行也可以任意组合
3. 可以灵活指定历史版来作构建
4、 相关资讯
1. cc.net官网: http://ccnet.thoughtworks.com
2. hudson官网: http://hudson-ci.org/
3. 大量CI工具比较: http://confluence.public.thoughtworks.org/display/CC/CI+Feature+Matrix
1/8
No comments:
Post a Comment