views:

1639

answers:

7

My purpose is to chose between CruiseControl and Hudson as continuous integration tool for java desktop application. I have seen lots of reading comparing Hudson and CruiseControl. In terms of features and ease of use, Hudson seems the best.

But in terms of robustness, reliability with heavy configuration and finally in the long term, is this still true ?

A: 

I'd recommend to have a look at TeamCity too. We changed from CruiseControl to TeamCity and there are a lot of new and useful features like cancelling a build etc.

keuleJ
Interesting product, unfortunately not an open source tool and no support of plugins :-/
dilig0
You can add plugins to team-city. http://www.jetbrains.net/confluence/display/TW/TeamCity+Plugins
Peter Lawrey
This is pretty irrelevant to the original question, isn't it?
Michael Donohue
+1  A: 

I have been using Hudson for quite a while and am happy with it. I havent used Teamcity though.

If cost is a concern, then Hudson should be an obvious choice. The community contributions are very healthy.

Sathya
+2  A: 

Asked myself the same question a couple of years ago and after reading reviews, comparing , etc I went for Hudson.

It was easy to configure, had no problem after several years, had only 4-5 projects configured so I'm not sure if this qualifies as "heavy configuration" as you're stating, but it worked smoothly for me.

Billy
+25  A: 

My vote goes to Hudson.

  • robustness: I have never seen Hudson crash, although minor bugs did surface between releases but were squashed impressively fast. Also, it's being used by Netbeans, JBoss, Eclipse, Apache - I'd say it's pretty robust to handle those workloads;
  • reliability with heavy configuration: I'm not sure what you mean here. It is extremely configurable;
  • in the long term: there is a strong community behind Hudson, the lead committer quotes 120 developers contributing to the codebase,

I'd say go for Hudson and never look back.

Robert Munteanu
Thanks for your advise.Regarding reliability, my concern is that I just tried few builds with a single project. I just wonder if it well supports complex environment with many projects, many configurations, etc... finally the real world.
dilig0
I assume that the links to Hudson servers which I posted are indeed 'the real world'. Also http://wiki.hudson-ci.org/display/HUDSON/Meet+Hudson has case studies.
Robert Munteanu
Hudson used to fall over if it was thrashed too hard running on tomcat, I moved it to a stronger box and had no more problems.
Michael Wiles
Also you can't underestimate the advnatages of the hudson plugin architecture.
Michael Wiles
I implemented CruiseControl for our organization but it was a royal pain for configuration. I switched us over to Hudson and we haven't looked back. Much easier to configure and more options as far as I can tell.
MattC
+3  A: 

We started using CruseiControl two years ago. It was a lot of pain getting it started, and every change was painful. We then switched to Hudson. And I'm in love :-)

  • Really nice user interface, you get help directly when you need it
  • Easy to setup and configure
  • Plugins! I just love them. Just look at PromoteBuild. Try to do that easily in Cruisecontrol.
  • Large and active user community
Henrik
+2  A: 

I recently faced this same decision. I started installing both CruiseControl.NET and Hudson and would tinker with one, then the other. Pretty soon, though, I gained momentum with Hudson. We're now solidly using Hudson and I've not touched CruiseControl.NET any further (not that I was that far into it anyways). So I can attest that Hudson can be setup in a .NET world just fine.

Trinition
+4  A: 

We were using CruiseControl to build our libraries and applications. We were using it for C++ and Python development, not Java. Recently we switched to Hudson with very good results. The main features we liked were:

  • Stop a process
  • Use slaves, that is, in one place we can manage the build of multiple platforms
  • Easy plugins download, installation and usage.
Kaniabi