BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage News Choosing a Continuous Integration Server

Choosing a Continuous Integration Server

Bookmarks

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
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.

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

Community comments

  • CruiseControl works better for Maven 2 Projects than Continuum

    by Matt Raible,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    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).

  • Cruise Control

    by Geoffrey Wiseman,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    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,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    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,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    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,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    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

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

BT