Bamboo vs. Hudson(又名 Jenkins) vs 任何其他 CI 系统 [封闭式]

有人有哈德逊和竹子的经验吗?对这些产品的相对优势和劣势有什么想法吗?

好吧,由于人们不断提到其他CI产品,我将进一步打开它。这是我的一般问题。我想为新项目设置 CI 系统。这个项目可能会有Java组件(WARs和JAR),一些python模块,甚至可能有一个.NET组件。所以我想要一个可以:

  1. 处理多种语言,
  2. 将工件部署到服务器(即,如果所有单元测试都通过,则部署战争。
  3. 我还想要一些与体面的代码覆盖率工具集成的东西。
  4. 好看的报告很好,但不是必需的。
  5. 出现问题时的多种通知机制。
  6. 我不担心托管。我将在本地服务器或 Amazon 实例上运行它。
  7. 另外,这可能是天上掉馅饼,但是有没有东西也可以构建iPhone应用程序?

答案 1

免責聲明:我在Bamboo上工作,因此我不打算评论其他CI产品的功能,因为我的经验有限。

要回答您的具体要求:

处理多种语言

奔步对多种语言提供了开箱即用的支持。客户将其与Java,.Net,PHP,JavaScript等一起使用。话虽如此,大多数构建服务器都足够通用,至少可以执行可以启动构建过程的脚本。

将工件部署到服务器(即,如果所有单元测试都通过,则部署战争。

Bamboo 2.7 支持构建阶段,允许您将构建分解为单元测试阶段和部署阶段。仅当单元测试阶段成功时,生成才会进入部署阶段。在 Bamboo 3.0 中,我们将支持阶段之间的神器共享,允许您在第一阶段创建神器(例如您的战争),并在以下阶段使用此神器进行测试和部署。

我还想要一些与体面的代码覆盖率工具集成的东西。

Bamboo支持Clover,并且还为Cobertura提供了一个插件。

好看的报告很好,但不是必需的。

Bamboo有一大堆报告,这些报告很好,但不是必需:)

出现问题时的多种通知机制。

Bamboo可以通过电子邮件,RSS,IM,IDE插件或整个团队可见的漂亮墙板通知您。

我不担心托管。我将在本地服务器或 Amazon 实例上运行它。

根据经验,托管自己的CI服务器通常更便宜。但是,如果您需要扩展,Bamboo 可以轻松将您的构建分发给其他本地代理,或通过 Elastic 代理横向扩展到 Amazon。

另外,这可能是天上掉馅饼,但是有没有东西也可以构建iPhone应用程序?

与第一个问题的答案类似,大多数CI服务器将能够以某种方式构建iPhone应用程序。不过,可能需要更多的脚本。

价格:Bamboo不是免费的(除了我们的免费入门许可证)/自由/开源,但如果你购买商业许可证和完全支持,你会得到Bamboo的源代码。与CI服务器所需的计算能力和潜在维护成本相比,Bamboo许可证的成本相当小。

希望这有帮助。


答案 2

我没有使用过Bamboo,但我使用过Hudson,Cruise和TFS,其中Hudson是最好的。它的设置非常简单,并且具有用于项目配置的非常好的Web GUI。Hudson的伟大之处在于,它几乎支持任何语言和功能,假设有人为它编写了插件,他们可能想要。

http://wiki.hudson-ci.org/display/HUDSON/Plugins

我们用它来运行.NET,Java和C++定时间隔构建,以及带有自动测试工具的SVN签入,这很棒。我工作之前的地方在我离开之前就开始了一些iPhone开发,我相信他们也在使用Hudson。

另外,它是免费的!


推荐