Hudson和CruiseControl for Java项目有什么区别?
我认为标题总结了它。 我只想知道为什么这个或那个更适合从Svn持续集成Java项目。
作为CruiseControl提交者和从未使用哈德森的人,我很偏颇,但我承认:
Hudson更容易启动和运行(很大程度上来自一个漂亮的Web界面),并且拥有一个非常活跃的插件开发社区。
CruiseControl支持大量第三方软件,并且可以通过插件预配置和include.projects等xml配置完成一些简洁的技巧,让您可以使用项目对配置信息进行版本管理。
如果你只有几个版本,我认为哈德森是明显的赢家。 如果你将有很多 - 而且不介意xml - 那么我认为CruiseControl的xml配置技巧将成为一种真正的力量。
我同意这个答案,但想补充几点。
总之, 哈德森 (更新: 詹金斯 )现在可能是更好的选择。 首先,因为通过Hudson的Web UI创建和配置作业(CC词汇表中的“项目”)比CruiseControl的XML配置文件(我们用于保持版本控制以便更好地跟踪它)更快, 。 后者并不是特别困难 - 它只是更慢更乏味。
CruiseControl一直很棒,但正如Dan Dyer正确命名的博客文章中指出的那样,为什么你还没有使用Hudson?,它受到第一的困扰。 (呃,如果你愿意的话,就像英国一样,后来进入工业革命时,其他人开始用新技术赶超它。)
我们大量使用了CruiseControl,并逐渐转向哈德森,最终独家使用它。 更重要的是:在这个过程中,我们开始使用CI服务器来处理比以前更多的事情,因为设置和管理Hudson作业非常方便。 (我们现在在Hudson拥有40多个职位:稳定和开发分支的常规构建和测试工作;与释放相关的工作(构建安装程序等);针对代码库运行一些(实验性)度量的作业;运行缓慢)针对特定数据库版本的UI或集成测试;等等。)
根据这个经验,我认为即使你有很多构建,包括复杂的构建,Hudson也是一个非常安全的选择,因为像CC一样,基本上你可以用它来做任何事情。 只需将您的作业配置为按您希望的顺序运行任何Ant或Maven目标,Unix shell脚本或Windows .bat脚本。
至于第三方的东西(Jeffrey Fredrick在这里提到) - 这是一个很好的观点,但我的印象是Hudson正在迅速赶上,而且已经有很多插件可用。
对我而言,我想说的CruiseControl的两件事是:
次要免责声明:我去年一直没有密切关注CC项目。 (但从简单来看,它并没有以任何戏剧性的方式发生变化。)
注 (2011-02-03):哈德森已被重新命名为詹金斯(由哈德森创造者Kohsuke Kawaguchi等人)。 看起来控制哈德森名字的甲骨文看起来也会保留“哈德森”,但我个人的建议是与詹金斯合作 ,无论甲骨文如何说。
我的最后一个项目是从CruiseControl开始。 哪摇了摇。 然后我们搬到了哈德森,那里摇摆得更厉害。 我喜欢哈德森的东西:
上游和下游项目。 因此,对数据访问代码的提交最终也会触发构建表示层。
轻松使用现有项目作为新项目的起点 - 因此,如果您习惯于创建开发分支,那么确保这些项目处于持续集成阶段是一件很简单的事情。
上一篇: What is the difference between Hudson and CruiseControl for Java projects?
下一篇: AngularJs end