Hudson和CruiseControl for Java项目的区别是什么?

Hudson和CruiseControl for Java项目的区别是什么?,java,continuous-integration,hudson,jenkins,cruisecontrol,Java,Continuous Integration,Hudson,Jenkins,Cruisecontrol,我想标题概括了这一点。我只是想知道为什么其中一个更适合于Svn中Java项目的持续集成构建。一个区别是Hudson是一个天才智者川口康介的产物。因此,它是一致的、连贯的、坚如磐石的。不利的一面可能是进展速度受到一些限制。然而,Kohsuke是难以置信的多产,所以我不会太担心这一点。而且,它是可扩展的,所以如果Kohsuke没有时间做(或不想做)某些事情,您可以自己做。我的上一个项目,我们从CruiseControl开始。震动了。然后我们搬到哈德逊,那里震动更大。我喜欢哈德逊的东西: 上游和下游

我想标题概括了这一点。我只是想知道为什么其中一个更适合于Svn中Java项目的持续集成构建。

一个区别是Hudson是一个天才智者川口康介的产物。因此,它是一致的、连贯的、坚如磐石的。不利的一面可能是进展速度受到一些限制。然而,Kohsuke是难以置信的多产,所以我不会太担心这一点。而且,它是可扩展的,所以如果Kohsuke没有时间做(或不想做)某些事情,您可以自己做。

我的上一个项目,我们从CruiseControl开始。震动了。然后我们搬到哈德逊,那里震动更大。我喜欢哈德逊的东西:

  • 上游和下游项目。因此,对数据访问代码的提交最终也会触发表示层的构建

  • 轻松地使用现有项目作为新项目的起点-因此,如果您有创建开发分支的习惯,那么确保这些分支处于持续集成之下是一件轻而易举的事


在我看来,哈德逊是一个更加人性化的选择。它可以完全通过web界面进行设置和维护(当然,除了最初安装webapp之外)

关于CruiseControl,唯一可以这样说的方法是计算内置的XML文件编辑器


尽管如此,在使用了两者之后,我仍然更喜欢任何一种,而不是没有自动构建。

我查看了巡航控制系统和哈德逊系统,但选择哈德逊系统是因为它更易于设置和配置。Hudson现在似乎得到了广泛的应用,它有常规的发行版,并通过插件进行了大量的扩展。我强烈推荐它。

作为一名长期的CruiseControl提交人和一名从未使用过哈德逊的人,我很有偏见,但我的看法是:

Hudson更容易启动和运行(很大程度上是通过一个漂亮的web界面),并且有一个非常活跃的插件开发社区

CruiseControl得到了很多人的支持,并且可以利用xml配置进行一些巧妙的操作,比如插件预配置和include.projects,它可以让您在项目中对配置信息进行版本化

如果你只打算进行几次建造,我认为哈德逊无疑是赢家。如果您将拥有很多—并且不介意xml—那么我认为CruiseControl的xml配置技巧将成为真正的优势。

我同意,但想补充几点

简而言之,哈德逊(更新:)现在可能是更好的选择。首先也是最重要的一点是,通过Hudson的web UI创建和配置作业(“CC词汇表中的项目”)比编辑CruiseControl的XML配置文件(我们用来保持版本控制以便更好地跟踪它)要快得多。后者并不是特别困难——它只是更慢、更乏味

CruiseControl非常棒,但正如丹·戴尔(Dan Dyer)在其贴切的博客文章中所指出的,它因成为第一名而遭受痛苦。(嗯,如果你愿意的话,就像英国一样,在工业革命后期,其他国家开始用新技术超越它。)

我们大量使用CruiseControl,并逐渐切换到Hudson,最后只使用它。更重要的是:在这个过程中,我们开始将CI服务器用于许多其他事情,因为设置和管理Hudson作业非常方便。(我们现在在Hudson有大约40多个作业:稳定和开发分支的常见构建和测试作业;与发布相关的作业(构建安装程序等);针对代码库运行一些(实验性)度量的作业;针对特定数据库版本运行(缓慢)UI或集成测试的作业;等等。)

根据这段经历,我认为即使你有很多构建,包括复杂的构建,Hudson也是一个非常安全的选择,因为,像CC一样,基本上你可以用它做任何事情。只需将作业配置为按照您希望的顺序运行Ant或Maven目标、Unix shell脚本或Windows.bat脚本即可

至于第三方的东西()——这是一个很好的观点,但我的印象是哈德逊正在迅速赶上,而且已经有很多人在为它做准备

对我来说,我怀念CruiseControl的两件事是:

  • 与哈德逊公司相比,该公司发出的关于破损建筑的警告电子邮件信息量更大。在大多数情况下,根本原因显然来自CC格式良好的HTML邮件本身,而对于Hudson,我通常需要按照Hudson web UI的链接,点击一点以获取详细信息
  • 在开箱即用的情况下,更适合作为“”(显示在公共监视器上,或投影在墙上,以便您始终可以快速查看所有项目的状态)。在Hudson的头版,我们需要一些油腻的把戏来让工作排成绿色/红色
  • 次要免责声明:我在过去一年左右没有密切关注CC项目。(但从一开始,它并没有发生任何戏剧性的变化。)


    (2011-02-03):哈德逊已经成为(由哈德逊创造者和其他人)。看起来控制哈德逊名字的甲骨文公司也会保留“”的名称,但我个人的建议是,不管甲骨文公司怎么说,还是选择詹金斯公司。

    我尝试了巡航控制……这很好……但文档是零碎的。仪表板令人困惑。小部件的创建也令人困惑。从没试过哈德逊。将在周末试用。

    我最近设置Jenkins,利用Subversion构建Borland BDS 2006项目,我对此非常满意。我还没用过CruiseControl,所以我无法比较。阅读我的博客文章了解更多信息


    +1,完全同意,特别是关于第二点。我们用哈德逊做了很多事情,因为