原始 CruiseControl 和 .NET 端口之间有什么区别吗?我已经比较了这 2 个,但除了开发它的语言之外找不到任何大的差异。我想使用其中任何一个来(自动)测试 Web 应用程序,使用 Selenium 和 Subversion,甚至可能是 Groovy,但是不知道该选哪个。
[编辑] 在看了 CC 和 Hudson 之后,我选择了 Hudson,因为它很简单,它已经有插件来运行 Groovy 脚本和 Selenium
原始 CruiseControl 和 .NET 端口之间有什么区别吗?我已经比较了这 2 个,但除了开发它的语言之外找不到任何大的差异。我想使用其中任何一个来(自动)测试 Web 应用程序,使用 Selenium 和 Subversion,甚至可能是 Groovy,但是不知道该选哪个。
[编辑] 在看了 CC 和 Hudson 之后,我选择了 Hudson,因为它很简单,它已经有插件来运行 Groovy 脚本和 Selenium
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 仪表板,而且设置更受命令行限制,但如果您正在执行分布式构建,则设置和运行非常容易。
我想对你来说这将归结为操作系统,原始版本可以在 nix 上运行,.net 版本在 windows 上运行。
还有其他自动构建实用程序也可以执行此操作,例如 windows 空间中的 TeamCity 和 ruby 世界中的 Cruisecontrol.rb。
还有一个名为 pSake 的基于 PowerShell 的构建实用程序,可以轮询颠覆和执行任务。