Hudson和CruiseControl for Java项目有什么区别?
我认为标题总结了它。 我只想知道为什么这个或那个更适合从Svn持续集成Java项目。
作为CruiseControl提交者和从未使用哈德森的人,我很偏颇,但是我承认:
Hudson的启动和运行(很大程度上来自一个漂亮的Web界面)要容易得多,并且拥有一个非常活跃的插件开发社区。
CruiseControl支持许多第三方的function,并且可以利用插件预configuration和include.projects等xmlconfiguration来完成一些巧妙的技巧,这些configuration允许您使用项目对configuration信息进行版本pipe理。
如果你只有一些build立,我认为哈德森是明确的赢家。 如果你将有很多 – 而不介意的XML – 那么我认为CruiseControl的XMLconfiguration技巧成为一个真正的力量。
我同意这个答案 ,但想补充几点。
总之, 哈德森 (更新: jenkins )现在可能是更好的select。 首先,因为通过Hudson的Web UI创build和configuration作业(在CC词汇表中的“项目”)比CruiseControl的XMLconfiguration文件(为了更好地跟踪版本控制而保留版本控制) 要快得多 , 。 后者不是特别困难 – 它只是更慢,更乏味。
CruiseControl一直很棒,但正如丹·戴尔(Dan Dyer)精心devise的博客文章中提到的, 为什么你还没有使用哈德森? ,它受到了第一。 (呃,就像英国一样,如果你以后会进入工业革命,那么别人就会用更新的技术来超越它。)
我们大量使用了CruiseControl,并逐渐转向哈德森,最终独家使用它。 更重要的是:在这个过程中,我们已经开始使用CI服务器来处理比以前更多的事情,因为设置和pipe理Hudson作业非常方便。 (我们现在在Hudson有40多个工作岗位:稳定和发展分支机构的常规构build和testing工作;与释放相关的工作(build筑安装人员等);针对代码库运行一些(实验性)指标的工作; )针对特定数据库版本的UI或集成testing;等等。)
从这个经验来看,我认为即使你有很多构build,包括复杂构build,Hudson也是一个非常安全的select,因为就像CC一样,基本上你可以用它来做任何事情 。 只需将您的作业configuration为按照您所希望的顺序运行任何Ant或Maven目标,Unix shell脚本或Windows .bat脚本。
至于第三方的东西( Jeffrey Fredrick在这里提到的 ) – 这是一个很好的观点,但是我的印象是Hudson正在迅速赶上,而且已经有很多可用的插件了。
对于我来说,我想说的CruiseControl的两个名字是:
- 它的关于破解版本的警告电子邮件比哈德森更为翔实。 在大多数情况下,根本原因从CC格式良好的HTML邮件本身是明显的,而与哈德森我通常需要遵循哈德森Web UI的链接,并点击一下,以获取细节。
- CruiseControl仪表板更适合作为“ 信息散热器 ”(在公共显示器上显示,或投影在墙上,以便您可以快速查看所有项目的状态)。 有了哈德森的头版,我们需要一些油脂蛋糕技巧来把所有的工作排成很好的绿色/红色。
小声免责声明:我去年一直没有密切关注CC项目。 (但从简单的angular度来看 ,这一切都没有任何改变。)
注 (2011-02-03):哈德森已被重新命名为jenkins (由哈德森创造者河口徐口等)。 看起来控制着哈德森名字的甲骨文看起来也会保留“ 哈德森 ”( Hudson) ,但是我个人的build议是和jenkins合作 ,无论甲骨文如何说。
我上一个项目,我们开始了CruiseControl。 哪摇了摇。 然后,我们搬到哈得逊,这更摇摆。 我喜欢哈德森的东西:
-
上游和下游项目。 因此,对数据访问代码的提交最终也会触发构build表示层。
-
轻松使用现有项目作为新项目的起点 – 因此,如果您习惯于创build开发分支,那么确保这些项目处于持续集成阶段是一个很好的select。
一个不同的是,哈德森是一个单一的天才知识 – 河口Kohsuke产品。 因此,它是一致的,连贯的,坚如磐石的。 缺点可能是进度的一些限制。 不过,Kohsuke非常多产,所以我不会太担心。 而且,它是可扩展的,所以如果Kohsuke没有时间(或不想),你可以自己做。
我看着克鲁斯控制和哈德逊,但select哈德森,因为它更容易设置和configuration。 哈德森似乎现在非常广泛地使用,通过插件定期发布和大量的可扩展性。 我会极力推荐它。
在我看来,Hudson是更加用户友好的select。 它可以通过Web界面完成安装和维护(当然,除了初始安装Web应用程序之外)。
关于CruiseControl的唯一方法就是如果您计算内置的XML文件编辑器。
尽pipe如此,我还是更喜欢没有自动构build的人。
我试过克鲁斯控制…它的好…但文件是分散的。 仪表板令人困惑。 小部件的创build也令人困惑。 从来没有尝试哈德森。 将在周末尝试。
我最近设置Jenkinsbuild设使用Subversion的Borland BDS 2006项目,我非常满意。 我从来没有使用CruiseControl,所以我无法比较。 阅读我的博客文章了解更多信息。
Delphi与Jenkins的持续集成