2009-03-02 47 views

回答

36

由于长时间CruiseControl的提交者人谁从未使用过哈德逊我很偏颇,但我采取的是:

哈德森是非常容易启动和运行(在很大程度上一个漂亮的网页界面),并有一个非常活跃的插件开发社区。

CruiseControl支持很多3rd party stuff,并且可以通过插件预配置和include.projects等xml配置来完成一些巧妙的技巧,让您可以使用项目对配置信息进行版本管理。

如果你只打算打几场比赛,我认为哈德森是明显的赢家。如果你将有很多 - 而且不介意xml - 那么我认为CruiseControl的xml配置技巧将成为一种真正的力量。

+2

“第三方内容”链接无效。 – 2014-09-16 16:43:27

15

一个区别是哈德森是一个单一的天才智慧产品— Kohsuke川口。因此,它是一致的,连贯的,坚如磐石的。缺点可能会限制进展速度。不过,Kohsuke非常多产,所以我不会为此担心。而且,它是可扩展的,所以如果Kohsuke没有时间(或不想),你可以自己做。

30

我上一个项目,我们从CruiseControl开始。哪摇了摇。然后我们搬到了哈德森,那里摇摆得更厉害。我喜欢哈德森的东西:

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

  • 轻松使用现有项目作为新项目的起点 - 因此,如果您习惯于创建开发分支,那么确保这些项目处于持续集成阶段是一个很好的选择。

+4

+1,完全同意,特别是关于第二点。我们结束了使用哈德森很多东西,因为(更多关于它:http://stackoverflow.com/questions/604385/what-is-the-difference-between-hudson-and-cruisecontrol-for- java-projects/888054#888054) – Jonik 2009-05-20 13:58:59

+1

关于你的第二点,“以现有项目作为新项目的起点”很容易使用CC:只需复制相关文件,进行适当的更改,并在ccnet.config中注册新项目。真的很简单。在这种情况下,“轻松”在考虑Jenkins而不是CC时可能会“很容易” - 在GUI和XML文件中进行。 TMTOWTDI,但都不是特别困难。 – J0e3gan 2014-05-25 20:06:58

3

哈德森是我认为更加用户友好的选择。它可以通过Web界面完成设置和维护(当然,除了初始安装webapp之外)。

关于CruiseControl的唯一方法是如果您计算内置的XML文件编辑器。

尽管如此,在使用两者之后,我还是比任何人都更喜欢没有自动构建。

+0

“尽管如此,在使用两者之后,我宁愿任何人都没有自动构建。” +1来衡量理智。在最近围绕詹金斯的所有愤怒和崇高的宗教信仰中,人们似乎忘记了CC,詹金斯和其他成熟的CI替代品是_means到最后 - 最终最终成为重要的手段。就我个人而言,我发现CC很容易使用,即使作为一个相对新手。詹金斯也很好。但是对于一个人而言,做出这样的重大决定实在不值一提。 – J0e3gan 2014-05-25 20:26:15

4

我看着巡航控制系统和Hudson,但选择哈德森,因为它更容易设置和配置。哈德森这些日子似乎非常广泛地使用,通过插件定期发布和大量的可扩展性。我会极力推荐它。

117

我同意this answer,但想补充几点。

总之,哈德森(更新:Jenkins)可能是目前较好的选择。首先,因为通过Hudson的Web UI创建和配置作业(CC词汇表中的“项目”)只是,所以速度更快,与编辑CruiseControl的XML配置文件相比(我们用它来保持版本控制只是为了跟踪它更好)。后者并不是特别困难 - 它只是更慢更乏味。

CruiseControl一直很棒,但正如Dan Dyer的恰当命名的博客文章Why are you still not using Hudson?所述,它遭受了第一次。 (呃,就像英国一样,如果你愿意,后来进入工业革命,当别人开始用新技术赶超它时)。

我们大量使用了CruiseControl,并逐渐转向哈德森,最终独家使用它。更重要的是:在这个过程中,我们已经开始使用CI服务器来处理比以前更多的事情,因为设置和管理Hudson作业非常方便。 (我们现在在Hudson拥有40多个工作岗位:通常构建&稳定和开发分支的测试工作;与释放相关的工作(构建安装程序等);针对代码库运行一些(实验性)度量的作业;运行缓慢)针对特定数据库版本的UI或集成测试;等等。)

从这个经验来看,即使你有很多构建,包括复杂的构建,哈德森也是一个非常安全的选择,因为像CC ,你基本上可以用它来做什么。只需将您的作业配置为按您希望的顺序运行任何Ant或Maven目标,Unix shell脚本或Windows .bat脚本。

至于第三方的东西(mentioned here by Jeffrey Fredrick) - 这是一个很好的观点,但我的印象是哈德森很快就赶上了,而且已经有很大数量的plugins available了。

对我来说,两件事情我可以说出我想念CruiseControl的是:

  1. 关于它的电子邮件警告碎建立较哈德森的更多的信息。在大多数情况下,从CC格式良好的HTML邮件本身就可以看出根本原因,而对于Hudson,我通常需要遵循哈德森Web UI的链接,然后点击一下以获取详细信息。
  2. CruiseControl dashboard作为“information radiator”(在公共显示器上显示,或投影在墙上,以便您可以快速查看所有项目的状态)更适合于开箱即用。通过哈德森的头版,我们需要一些Greasemonkey技巧来让作业行很好地呈现绿色/红色。

轻微声明:我去年一直没有密切关注CC项目。 (但是从quick look,它没有任何戏剧性的方式改变了。)

注意(2011-02-03):哈德森已经renamed/forkedJenkins(哈德森创造者Kohsuke Kawaguchi等)。看起来好像控制Hudson名字的Oracle也会保留“Hudson”,但我个人的建议是与Jenkins一起去,不管Oracle说什么。

1

我试过克鲁斯控制...它的好...但文件分散。仪表板令人困惑。小部件的创建也令人困惑。从未尝试过哈德森。将在周末尝试。

0

我最近设置了Jenkins,用于构建使用Subversion的Borland BDS 2006项目,我对此非常满意。我从来没有使用CruiseControl,所以我无法比较。阅读我的博客文章以获取更多信息。

Continuous integration of Delphi project with Jenkins

相关问题