CruiseControl(原创)和CruiseControl.NET之间的差异

时间:2009-01-08 14:57:27

标签: testing continuous-integration cruisecontrol.net cruisecontrol

最初的CruiseControl和.NET端口之间有什么区别吗?我比较了2,但除了它已经开发的语言之外找不到任何重大差异。我想使用其中一个用于(自动)测试Web应用程序,使用Selenium和Subversion,甚至Groovy但是不知道选哪个。

[编辑] 在看了CC和Hudson之后,我选择了Hudson,因为它很简单,它已经有了运行Groovy脚本和Selenium的插件

3 个答案:

答案 0 :(得分:6)

选择我,选择我! (我在最初的CruiseControl上工作。)

我从未使用过CC.NET,但据我所知,我同意它们具有可比性。可能最重要的区别是跨平台与Windows。

现在我想知道有多长时间才有人过来说他们的两个废话,你应该试试Hudson? ;)

(当然还有lots of other choices ...)

答案 1 :(得分:2)

CruiseControl.NET(今后的cc.net)有构建队列(http://confluence.public.thoughtworks.org/display/CCNET/Project+Configuration+Block),它允许您序列化依赖于某个构建顺序的构建。我正在java版本的cruisecontrol中模拟这种行为,但功能不会一对一映射。但是,我完全从.net迁移到java版本的原因是.net版本核心转储单声道(cc.net每晚构建和两个月前的单夜构建)。错误在于monos线程处理,但是无效尝试使cc.net启动并运行。

如果你没有注意到配置示例/文档所遵循的版本号(confluence.public.thoughtworks.org有更新的配置文档,而ccnet.sourceforge.net有),那么找到这方面的文档可能很难找到。不知道。我知道ccnet很可能是一个死网站,但是如果你没有仔细阅读你正在访问的每个页面上的日期戳,这可能会让你感到厌烦。

此外,cc.net中的cvs和svn的sourcecontrol块比java版本中的对应块更精细,更丰富,但这在我的工作中不是问题。 java版本也很容易扩展/修改re:插件行为,但你真的只想看到这种工作上行而不是分叉。

我对java版本和.net中的fork(modulo mono运行时行为)印象深刻,但你真的不想尝试任何其他的cruisecontrol分支。我有哈德森的外围经验,而且这些功能并不足以让我从巡航控制中转过来。 Hudson在http://hudson.gotdns.com/wiki/display/HUDSON/Home有一个(有点颜色的)Hudson和CruiseControl(java)比较图。

一个可行的替代方案是python实现的buildbot(http://buildbot.net/trac)。它没有花哨的gui仪表板,并且设置更受命令行限制,但如果你正在进行分布式构建,那么设置和运行起来非常容易。

答案 2 :(得分:0)

我认为对你来说它将归结为操作系统,原始版本可以在nix上运行,而.net版本可以在windows上运行。

还有其他自动构建实用程序也可以执行此操作,例如Windows空间中的TeamCity和ruby世界中的cruisecontrol.rb。

还有一个名为pSake的基于PowerShell的构建实用程序可以轮询subversion并执行任务。