119

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

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

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

6 回答 6

50

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

回答您的具体要求:

处理多种语言

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

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

Bamboo 2.7 支持构建阶段,它允许您将构建分解为单元测试阶段和部署阶段。只有当单元测试阶段成功时,构建才会进入部署阶段。在Bamboo 3.0中,我们将支持 Stage 之间的 Artifact 共享,允许您在第一个 Stage 中创建一个 Artifact(例如您的战争),并在接下来的 Stage 中使用该 Artifact 进行测试和部署。

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

Bamboo 带有对Clover的支持,并且还有一个可用于Cobertura的插件。

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

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

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

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

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

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

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

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

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

希望这可以帮助。

于 2011-01-27T03:43:17.560 回答
40

我没有用过 Bamboo,但我用过 Hudson、Cruise 和 TFS,在所有这些中,Hudson 无疑是最好的。它的设置非常简单,并且有一个非常好的用于项目配置的 Web GUI。Hudson 的优点在于它支持几乎任何您可能想要的语言和功能,前提是有人已经为它编写了插件,而他们可能已经拥有了。

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

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

而且它是免费的!

于 2011-01-28T12:48:27.407 回答
35

Bamboo vs Hudson,在非常肤浅的层面上,似乎归结为:

  • 竹子:易于使用且美观
  • Jenkins:边缘粗糙,但比 Bamboo 灵活得多

Bamboo 和 Jenkins 都有许多错误(您遇到问题),但至少在 Jenkins 中,您更有可能找到解决方法,直到它被修复。使用 Bamboo,您将陷入等待更新的困境。

于 2012-09-19T17:17:11.317 回答
16

免责声明:我正在与 Jenkins 合作。

在我们的组织(相当大,超过 100 名开发人员)中,我们还发现这两个功能非常有用:

  1. 具有矩阵项目安全策略的 CAS 插件
  2. 构建管道插件
  3. LTS 发布时间表。

关于您的问题:

  1. 好的
  2. SCP 插件或 SSH 插件
  3. 我们使用 FINDBUGS、静态分析收集器插件、静态代码分析插件、任务扫描器插件
  4. 上一个点 3 + Jenkins DocLinks 插件
  5. 我们使用电子邮件 Jenkins 电子邮件扩展插件,但它也支持其他系统,如 rss、twitter 发布、短信......
  6. 我们在本地的 Tomcat 主机中运行。
  7. 是的。
于 2011-11-08T16:03:25.180 回答
5

好吧,到目前为止我还没有使用过 Bamboo,但一个区别是 Hudson 是免费/自由/开源软件。

于 2011-01-26T15:48:31.930 回答
1

如果您愿意为此付费,Anthill会为您提供所有这些您正在查看的内容。我们在我的公司为我们的网络团队使用它,它非常强大。

处理多种语言

开箱即用,它可以自动化您现有的脚本并管理它们产生的工件,无论是什么语言。

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

部署可以作为构建过程中的一个步骤添加。我不确定您是否想直接部署到生产环境,但如果管理层要求您必须这样做,您当然可以。

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

它们与 Clover、Cobertura、Emma、Checkstyle、CodeSonar、Coverity、FindBugs、Fortify、Klocwork、PMD 和 Sonar 集成开箱即用。

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

我不确定有哪些报告可用,但有一个报告选项卡(我不去那里:-))

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

我知道它可以发送电子邮件(因此也可以发送短信),并与一些 IM 服务集成。

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

我看到了他们从图像启动云会话的演示,并配有一个用于部署的代理。我们在典型的 Linux 机器上运行它,但我知道有些人在 VMWare 服务器上运行它。

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

这可能属于第一个。

于 2011-03-11T17:34:07.083 回答