竹子比Hudson(a.k.a.Jenkins)与任何其他CI系统[关闭]

问题

那里的任何人都有哈德森和竹子的经验吗?有关这些产品的相对优势和劣势的任何想法?

好的,既然人们不断提及其他CI产品,我会进一步打开它。这是我的一般问题。我想为新项目设置CI系统。该项目可能包含Java组件(WAR和JAR),一些python模块,甚至可能包含.NET组件。所以我想要一个能够:

  • 处理多种语言,
  • 将工件部署到服务器(即,如果所有单元测试都通过,则部署战争。)
  • 我还想要一些与合适的代码覆盖工具集成的东西。
  • 好看的报告很好,但不是必不可少的。
  • 出现问题时的多种通知机制。
  • 我不担心托管。我将在本地服务器或Amazon实例上运行它。
  • 此外,这可能是天空中的馅饼,但还有什么东西可以构建iPhone应用程序?

#1 热门回答(49 赞)

**免责声明:**我在Bamboo工作,因此我不打算评论其他CI产品的功能,因为我对它们的体验有限。

要满足你的具体要求:

处理多种语言

Bamboo已经开箱即用,支持多种语言。客户将它与Java,.Net,PHP,JavaScript等一起使用。尽管如此,大多数构建服务器都是通用的,至少可以执行一个可以启动构建过程的脚本。

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

Bamboo 2.7支持Build Stages,它允许你将构建分解为Unit Test Stage和Deploy Stage。仅当单元测试阶段成功时,构建才会继续到Deploy Stage。 InBamboo 3.0我们将支持各阶段之间的工件共享,允许你在第一阶段创建工件(例如你的战争),并在以下阶段中使用此工件进行测试和部署。

我还想要一些与合适的代码覆盖工具集成的东西。

Bamboo支持355109593,也有一个插件可用于Cobertura

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

竹有awhole bunch of reports哪个很好,但不是必要的:)

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

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

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

根据经验,托管你自己的CI服务器通常更便宜。但是,如果你需要扩展,Bamboo可以轻松地将distribute your builds添加到其他本地代理或通过弹性代理扩展到Amazon。

此外,这可能是天空中的馅饼,但还有什么东西可以构建iPhone应用程序?

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

**价格:**Bamboo不是免费的(除了我们的freestarter license)/ libre / open-source,但如果你购买商业许可证并获得全面支持,你将获得Bamboo的源代码。与CI服务器所需的计算能力和潜在维护成本相比,Bamboo许可证的成本相当小。

希望这可以帮助。


#2 热门回答(39 赞)

我没有使用过Bamboo,但是我使用过Hudson,Cruise和TFS,而且在所有这些中,Hudson都是最好的。设置起来非常简单,并且有一个非常好的Web GUI用于项目配置。 Hudson的优点在于它支持几乎任何语言和功能,你可以想要假设有人为它编写了一个插件,他们可能拥有它。
http://wiki.hudson-ci.org/display/HUDSON/Plugins
我们使用它来按时间间隔运行.NET,Java和C构建以及使用自动化测试工具进行SVN签入,这很棒。我离开之前的地方在我离开之前开始了一些iPhone开发,我相信他们也在使用Hudson。

再加上它是免费的!


#3 热门回答(34 赞)

Bamboo vs Hudson处于一个非常肤浅的层面,似乎归结为:

  • 竹子:易于使用,外观美观
  • 詹金斯:粗糙的边缘,但比竹子更灵活

Bamboo和Jenkins都有很多错误(你会遇到问题)但至少对Jenkins来说,你更有可能在修复之前有一个解决方法。使用Bamboo,你将无法等待更新。