6

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

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

4

3 回答 3

6

选择我,选择我!(我在原来的 CruiseControl 上工作。)

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

现在我想知道多久有人过来说他们的废话,你应该试试哈德森?;)

(当然还有很多其他的选择......)

于 2009-01-08T16:12:02.130 回答
2

CruiseControl.NET(此后的 cc.net)具有构建队列(http://confluence.public.thoughtworks.org/display/CCNET/Project+Configuration+Block),它允许您序列化依赖于特定构建顺序的构建。我正在 java 版本的 Cruisecontrol 中模拟这种行为,但功能并没有一对一地映射。然而,我完全从 .net 迁移到 java 版本的原因是 .net 版本的核心转储为 mono(截至两个月前,cc.net nightly build 和 mono nightly build)。错误在于单声道线程处理,但没有尝试让 cc.net 启动和运行。

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

此外,cc.net 中用于 cvs 和 svn 的源代码控制块比它们在 java 版本中的对应部分更加精细和功能丰富,但这在我的工作中不是问题。java 版本也很容易扩展/修改 re: 插件的行为,但你真的很想看到这种工作在上游而不是分叉。

我对 java 版本和 .net 中的分支(模单运行时行为)印象深刻,但您真的不想尝试任何其他的 Cruisecontrol 分支。我在哈德逊有过外围体验,但这些功能不足以让我从巡航控制中转向。Hudson 在http://hudson.gotdns.com/wiki/display/HUDSON/Home上有一张 Hudson 和 CruiseControl (java) 的比较图(有点颜色)

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

于 2009-01-29T05:16:35.783 回答
0

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

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

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

于 2009-01-08T15:11:37.150 回答