竹VS.Hudson(又名 Jenkins)与任何其他 CI 系统

有没有人同时使用 Hudson 和 Bamboo 的经验?对这些产品的相对优势和劣势有何看法?

Anyone out there have experience with both Hudson and Bamboo? Any thoughts on the relative strengths and weaknesses of these products?

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

Okay, since folks keep mentioning other CI products I'll open this up further. Here are my general problem. I want to setup a CI system for a new project. This project will likely have Java components (WARs and JARs), some python modules, and possibly even a .NET component. So I want a CI server that can:

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

推荐答案

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

Disclaimer: I work on Bamboo and therefore I am not going to comment on features of other CI products since my experience with them is limited.

回答您的具体要求:

处理多种语言

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

Bamboo has out of the box support for multiple languages. Customers use it with Java, .Net, PHP, JavaScript etc. That being said, most build servers are generic enough to at least execute a script that can kick off your build process.

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

Deploy artifacts to servers (i.e. deploy the war if all the unit tests pass.)

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

Bamboo 2.7 supports Build Stages, which allow you to break up your build into a Unit Test Stage and a Deploy Stage. Only if the Unit Test Stage succeeds, the build will move on to the Deploy Stage. In Bamboo 3.0 we will support Artifact sharing between stages, allowing you to create an Artifact (e.g. your war) in the first Stage and use this Artifact in the following Stages for testing and deployment.

我还想要一些与不错的代码覆盖工具集成的东西.

I would also like something that integrated with a decent code coverage tool.

Bamboo 支持 Clover 并且还有一个可用于 Cobertura 的插件.

Bamboo comes with support for Clover and also has a plugin available for Cobertura.

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

Good looking reports are nice, but not essential.

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

Bamboo has a whole bunch of reports which are nice, but not essential :)

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

Multiple notification mechanisms when things go wrong.

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

Bamboo can notify you via email, RSS, IM, an IDE plugin or a nice wallboard that is visible to the whole team.

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

I'm not worried about hosting. I'll either run it on a local server or on an Amazon instance.

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

From experience, it is generally cheaper to host your own CI server. But if you need to scale, Bamboo makes it easy to distribute your builds to additional local agents or scale out to Amazon via Elastic agents.

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

Also, this maybe pie in the sky, but is there something that can also build IPhone apps?

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

Similar to the answer to your first question, most CI servers will be able to build iPhone apps in some ways. It's possible that there is a little more scripting required though.

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

Price: Bamboo is not free(apart from our free starter license)/libre/open-source, but you will get Bamboo's source-code if you purchase a commercial license and full support. Compared to the cost of computing power and potential maintenance required for a CI server, the cost of a Bamboo license is rather small.

希望这会有所帮助.

相关文章