Bamboo Vs. Hudson(a.k.a. Jenkins) vs Any other CI systems

Karthik Ramachandran picture Karthik Ramachandran · Jan 26, 2011 · Viewed 77.6k times · Source

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

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. Handle multiple languages,
  2. Deploy artifacts to servers (i.e. deploy the war if all the unit tests pass.)
  3. I would also like something that integrated with a decent code coverage tool.
  4. Good looking reports are nice, but not essential.
  5. Multiple notification mechanisms when things go wrong.
  6. I'm not worried about hosting. I'll either run it on a local server or on an Amazon instance.
  7. Also, this maybe pie in the sky, but is there something that can also build iPhone apps?

Answer

jens picture jens · Jan 27, 2011

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.

To answer your specific requirements:

Handle multiple languages

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 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 comes with support for Clover and also has a plugin available for Cobertura.

Good looking reports are nice, but not essential.

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

Multiple notification mechanisms when things go wrong.

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

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

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.

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

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.

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.

Hope this helps.