您使用哪种持续集成软件?

时间:2010-10-13 07:09:45

标签: mercurial continuous-integration cruisecontrol multiplatform

谷歌表示:

  • 詹金斯(第一印象:不轻量级)
  • 巡航控制(第一印象:不轻量级)
  • 被咬(似乎死了,最后一张票> 8个月)
  • BuildBot

但BuildBot似乎有点过时,没有提供统计数据,配置不是很直观......我们感兴趣的功能是:

  • 对构建从服务器的多平台支持:Linux,Mac OS X,Windows
  • 轻松构建奴隶设置
  • 具有分支敏感性的Mercurial支持
  • 预定版本
  • 提交钩子构建
  • 具有完整调试输出的电子邮件通知
  • Trac整合很不错,但不是必备功能

编辑: 我现在赞成Jenkins胜过Hudson,因为它是Hudson真正的开源分支。甲骨文刚刚失败。

7 个答案:

答案 0 :(得分:10)

Hudson是我的推荐。它易于设置和使用,它是免费的,有大量的第三方插件和良好的社区支持。

答案 1 :(得分:7)

JetBrains的TeamCity。

答案 2 :(得分:5)

  

谷歌说:[...]

有一个关于CI软件比较的巨大维基百科页面:

http://en.wikipedia.org/wiki/Comparison_of_Continuous_Integration_Software

我个人也在使用buildbot,我认为它可以满足您的所有要求。设置是一项工作,因为它是一个分布式应用程序,但坦率地说,一旦你知道要输入两个命令(一个是“easy_install”,另一个是“buildbot创建 - ”,设置一个新的奴隶,这是轻而易举的。奴隶“有正确的选择。”

此外它还处于繁重的开发阶段,我选择它是因为它易于扩展,而基于XML的工具仅限于在工具中编码的构建规范类型:适用于Java / Ant / Maven项目,但它可以限制稍微复杂一些(例如,涉及DB或嵌入式软件等)。

希望它会有所帮助。

干杯,
克里斯托弗。

=自动化的行为并不能解决问题,只是让它们自动化--Joseph Weizenbaum =

答案 3 :(得分:3)

我使用过BuildBot。我的经验很好。安装轻而易举。它使用配置来设置主服务器,从服务器,并具有各种方式来传递从Web上发布到邮件集成的结果。

我发布了有关buildbot设置的博文。我觉得很容易。很少有像twisted这样的依赖关系需要处理。

[编辑:我试图整理一篇关于如何配置BuildBot的帖子 - master.cfg]

答案 4 :(得分:3)

我已经将Hudson与Mercurial一起使用,并发现它非常出色。 Feeds,网站,状态报告等在20人的商店中对我们来说都是“合适的尺寸”。只需在VM中运行它就可以忘掉它;我们做到了。

答案 5 :(得分:2)

正如其他人所推荐的那样,Hudson符合您的要求列表。 Trac集成还有一个plugin

关于“轻量级”,Hudson配置不是XML地狱。您可以通过Web界面执行所有操作。因此,起床和运行非常容易。

Hudson的插件架构提供了许多扩展点并与其他工具集成。 (尽管对具有您需要的行为的插件的所有可能性进行排序可能会很痛苦。)

您也可以通过remote access API编写脚本。这是一种为您的环境引入新行为的强大方法,无需深入编写插件。

答案 6 :(得分:-1)

我们的免费托管CI环境(fazend.com)由CruiseControl 2.8.3提供支持,{{3}}是一个免费的开源产品,用Java编写。它的一个好处(对我们而言)是它不需要任何数据库,一切都在文件中。