BT

Choosing a Continuous Integration Server

| by Scott Delap Follow 0 Followers on Sep 06, 2006. Estimated reading time: less than one minute |

In the first of a series of articles on continuous integration Paul Duvall compares three popular continuous integration servers, Continuum, CruiseControl, and Luntbuild. He mentions that there are a large number of commercial and open source CI servers currently available. Each has its pros and cons which makes picking one a difficult task. He recommends considering the following criteria:

 

  • Features
  • Reliability
  • Longevity
  • Target Environment
  • Ease of use

The article then walks through installing and running each CI server being compared. Paul provides different recommendations depending on your goals. He rates Continuum as the easiest to use. CruiseControl is the most extensible with a thriving user community. Luntbuild offers extended support options.

Rate this Article

Adoption Stage
Style

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Tell us what you think

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

CruiseControl works better for Maven 2 Projects than Continuum by Matt Raible

I'd agree that Continuum is easy to use, but it seems to force strange defaults. CruiseControl is definitely more difficult to learn, but once you've tackled the learning curve - it's great (IMHO of course).

Re: CruiseControl works better for Maven 2 Projects than Continuum by Alexandre Poitras

I'd agree that Continuum is easy to use, but it seems to force strange defaults. CruiseControl is definitely more difficult to learn, but once you've tackled the learning curve - it's great (IMHO of course).


I agree with you, we use Maven 2 as our build system and continuum has a lot of very annoying bugs at the moment.

For instance, if you try to remove a project and click somewhere else before the request is completed (double submit), the project is still going to be in the list but you won't be able to delete or build it anymore. The only solution I have found so far is to use a database client and dump the project data.

Also when you add a multi-modules project, every sub-modules are added by default. If you prefer to build the project as a whol,e you have to remove all of them by hand. It takes some times and if you are not careful, you are probably going to get the first bug I described.

On the other hand, I have to say that the project is still in his infancy and it does look very promising, it is very intuitive to use and has some very nice features. Hopefully, the 1.1 version should be more stable.

Cruise Control by Geoffrey Wiseman

We've been using it for an 'enterprise' project with multiple sub-projects on the same lifecycle, and Cruise isn't well-suited for that. For instance, while it can have a 'parent' project trigger a child, it can't easily have a child not build if the parent has unbuilt changes.

We've been able to create a plugin to do that for our own purposes, but at the moment, each build check goes against CVS, which means that the 'core' projects get cvs-checked extremely frequently, which could be a bottleneck on the build.

Check out luntbuild by Jason Carreira

Luntbuild is pretty easy to setup and has a lot of nice features. Build dependencies going either forward or backward like you're talking about is one of them. It's also nice that it's a complete build management app, not just continuous integration. You can have your QA department do their builds from Luntbuild and download the resulting binary. They can test that build and, if it passes, they can promote it to be the "gold" release and use Luntbuild as the build repository.

The UI takes a little getting used to, but once you're familiar with it it's pretty quick and easy to get around and get things done. I haven't tried the Maven support... I've never been a big fan of voodoo, so I stick with Ant.

Re: Check out luntbuild by Geoffrey Wiseman

Yes, Luntbuild is the one I'd been leaning towards experimenting with; had some troubles getting it up and running on the build server either under Resin or with the bundled Jetty, and I haven't tried again yet.

luntbuild is great by Leo Duarte

I've used CC on a previous project, it was very good. We were using ant for builds and the combination of the two worked very well. The learning curve w/ CC isnt that bad, but there is definitely a curve. An ant task had to be created for integration w/ Accurev SCM since there wasnt one out of the box.

On the latest project we opted for Maven 2 (which I really like). After doing some research we chose Luntbuild. Luntbuild's Maven 2 support is great. We are using it on a multi-module project with 10+ modules. Setup was a snap, luntbuild was up and running our Maven build from ClearCase in under an hour. I highly recommend luntbuild for its ease of use/administration. Although I have not used the Luntbuild/Accurev integration its good to know that no custom code would need to be written for Accurev use.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

6 Discuss

Login to InfoQ to interact with what matters most to you.


Recover your password...

Follow

Follow your favorite topics and editors

Quick overview of most important highlights in the industry and on the site.

Like

More signal, less noise

Build your own feed by choosing topics you want to read about and editors you want to hear from.

Notifications

Stay up-to-date

Set up your notifications and don't miss out on content that matters to you

BT