119

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?
alex
  • 438,662
  • 188
  • 837
  • 957
Karthik Ramachandran
  • 11,347
  • 9
  • 43
  • 52
  • 2
    Just to muddle the waters even more have you considered Team City? They have a free version (limited by # of users) version. I've used it in the past and really like the information it provides. – Shane Courtrille Jan 26 '11 at 15:35
  • Hudson or Jenkins? (http://kohsuke.org/2011/01/11/bye-bye-hudson-hello-jenkins/) – Romain Linsolas Jan 26 '11 at 15:43
  • 2
    Let keep muddling the waters :) http://integrityapp.com/ This can be deployed to Heroku, so you can have a CI server for free. – Nerian Jan 26 '11 at 15:46
  • I haven't seen TeamCity. And I didn't realize that Oracle forced Hudson to become Jenkins. I'll edit the question to reflect this. – Karthik Ramachandran Jan 26 '11 at 15:46
  • 2
    There is a thread about it here: http://forums.atlassian.com/message.jspa?messageID=257292121 – sal Jan 26 '11 at 16:03

6 Answers6

50

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.

alex
  • 438,662
  • 188
  • 837
  • 957
jens
  • 932
  • 9
  • 10
  • 15
    Bamboo's pricing structure is flawed. It does not differentiate between users with parallel builds and users who simply need remote agents for cross-platform testing. If you try running a tiny build server for Windows, Linux and Mac (maybe even different versions of each) the price quickly jumps to thousands of dollars a year. A better approach would have been to charge for concurrent builds. – Gili Sep 16 '12 at 03:36
  • Bamboo's big feature against jenkins is the auto merging of branches to prevent drift among devs in teams. But sadly they only support this for GIT and Mercurial so anyone using SVN or anything else won't work. But Jenkins has the SVN Merge plugin that lets us do it. – george_h Dec 20 '13 at 10:24
  • 1
    @george_h The [GIT Plugin](https://wiki.jenkins-ci.org/display/JENKINS/Git+Plugin) for Jenkins supports auto merging of branches now. I'm not sure when this was implemented. – slu Sep 18 '14 at 07:33
  • 1
    That's great. I've actually used both bamboo and jenkins and jenkins was better by far. In the end its all just a server that runs Ant + Maven. – george_h Sep 18 '14 at 11:27
40

I have not used Bamboo but I have used Hudson, Cruise and TFS and out of all of them Hudson was hands down the best. It is ridiculously easy to set up and has a really nice web GUI for project configuration. What is great about Hudson is that it supports pretty much any language and feature you could want assuming someone has written a plug-in for it, which they probably have.

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

We used it to run .NET, Java and C++ builds on timed intervals as well as SVN checkins with automated test harnesses and it was great. The place before last I worked at started some iPhone development just before I left and I believe they were using Hudson for that too.

Plus it's free!

Steve Whitfield
  • 1,861
  • 3
  • 21
  • 29
35

Bamboo vs Hudson, at a very superficial level, seems to come down to:

  • Bamboo: Easy to use and good looking
  • Jenkins: Rough around the edges, but is far more flexible than Bamboo

Both Bamboo and Jenkins have numerous bugs (you will run into problems) but at least with Jenkins you are much more likely to have a workaround until it's fixed. With Bamboo, you're stuck waiting for an update.

Gili
  • 76,473
  • 85
  • 341
  • 624
  • I would have guessed that with Bamboo you at least have commercial support for that. – keiki Oct 26 '14 at 11:35
  • 3
    @keiki, yes and no. Yes, you get commercial support but it costs a lot of money (you need to ask yourself if the cost/benefit makes sense). It's worth noting that many of the problems you will run into are caused by missing features. Atlassian will try their best to help you, but at the end of the day they have limited resources and it might take them years to add the features you request (depending on their popularity). – Gili Oct 26 '14 at 18:30
  • 1
    +1 for flexibility. Bamboo is really limited for a modern day tool, that too for a CI tool, where things aren't done from scratch. On top of that, Atlassian hasn't been able to prioritize/handle Bamboo bugs the way we have accustomed to working with OSS. – Paddy Apr 08 '15 at 13:26
16

Disclaimer: I'm working with Jenkins.

In our organization (quite big, more than 100 developers), we found also these two features very useful:

  1. CAS plugin with matrix project security strategy
  2. Build Pipeline Plugin
  3. LTS release schedule.

About your questions:

  1. OK
  2. SCP PLUGIN or SSH PLUGIN
  3. We use FINDBUGS, Static Analysis Collector Plug-in, Static Code Analysis Plug-ins, Task Scanner Plugin
  4. Previous at point 3 + Jenkins DocLinks plugin
  5. We use email Jenkins Email Extension Plugin, but it supports also other systems, like rss, twitter publish, sms...
  6. We are running in a Tomcat Hosting, Locally.
  7. Yes.
alex
  • 438,662
  • 188
  • 837
  • 957
5

Well, I haven't used Bamboo so far, but one difference is that Hudson is free/libre/open-source software.

Puce
  • 34,375
  • 9
  • 72
  • 137
  • 10
    downvoted -- this answer is true, but trivial (presumably someone aware of both products knows this); OP is looking for feature comparisons. – Jason S Dec 08 '14 at 15:25
1

If you're willing to pay for it, Anthill does all of these you're looking at. We use it at my firm for our web team, and it's pretty powerful.

Handle multiple languages

Out of the box, it automates your existing scripts and manages the artifacts they produce no matter what language.

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

Deployment can be added as a step in your build process. I'm not sure you'd want to deploy directly to production, but you certainly could if management says you have to.

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

They integrate out of the box with Clover, Cobertura, Emma, Checkstyle, CodeSonar, Coverity, FindBugs, Fortify, Klocwork, PMD and Sonar.

Good looking reports are nice, but not essential.

I'm not sure what reports are available but there is a reports tab (I don't go in there :-) )

Multiple notification mechanisms when things go wrong.

I know it can do email (and therefore sms), integrates with a few IM services.

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

I saw a demo of them firing up a cloud session from an image, complete with an agent for deployment. We run it on a typical Linux box, but I know some folks run it on a VMWare server.

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

This would fall under the first one, probably.

Gordon
  • 1,727
  • 4
  • 16
  • 31
corsiKa
  • 76,904
  • 22
  • 148
  • 194