Hudson – Continuous Integration made easy.. and free!

Some of you, developers, are acquainted with Continuous Integration, others do not, but one thing both have in common: the need of an easy mechanism to perform and monitor repetitive tasks in one or several projects. From building to testing, from keeping your project and dependencies versions right to logging the entire process, everything together is a task, an integration of from-development-to-deliver processes.

I didn’t know Continuous Integration itself, but everyday I have been dealing with something that resembles it. Man, it is a pain in the ass..

My employer made some colleagues of mine to use a tool – which name I can’t recall – but they keep complaining about it. So I wandered through the Web searching for something better. I found Hudson!

Hudson is a Java Web application very easy to “install”. All you have to do is to run java -jar hudson.war and there you go, point to http://localhost:8080 and you’ll have a very friendly management Web UI. Another way of running Hudson is through Java WebStart by running this file or installing it into a servlet container, like the one provided by Glassfish.

After you get it up and ready, you can start configuring you Hudson instance to match your development environment. For instance, let’s say you use:

  • Maven/Ant/Nant – build tool;
  • CVS/SVN/Git/Mercurial/Clearcase – SCM;
  • JUnit/NUnit/Test-NG – unit-testing;
  • Emma/Cobertura – code-coverage;
  • Many others including Checkstyle, IRCbot or Jabber build triggers, e-mail and IM notifications and even the ability to fire-up a VMWare virtual-machine, build your project and shut it down.

Well Hudson is able to do that and much more, just check out their plug-in list! My favourite is the JIRA plug-in but unfortunately I haven’t been able to find a Bazaar plug-in and be truthfully happy.

Also it supports distributed builds and tracking dependency and release binaries versions. Isn’t it amazing? Well JBoss guys think so!

Give it a try and give me your feedback 😉

7 thoughts on “Hudson – Continuous Integration made easy.. and free!

  1. CPinto says:

    Check, we’re using that. It’s a bit difficult to figure out where the pieces are put together but after the first time it’s easy to get it going. Oh yeah, it supports bzr out of the box too 🙂

  2. probably the name that you can’t remember is CruiseControl? Often, the failure of adopting such tools isn’t in the tool itself, nor in those who use them… often is the lack of process, process understanding and lack of process adherence… a fool with a tool is still a fool.

    I’ve checked the tool and yes is great because its out-of-the-box plugins (You just love plugins 🙂 and plugins will save my project:) ) are very broad and complete to be creative in defining and executing and effective continuous integration process. The extensibility attribute of OSS tools are our friends.


  3. That’s exactly my point João!! It’s not just OSS love, it’s what you can really get from a tool, or set of tools, without even looking at the cost of it. CruiseControl is also OSS, and that wasn’t the tool I was talking about, but instead a testing-oriented platform, something from HP. QualityCenter, maybe?!

  4. Still, OSS always have a cost! What probably you can save with OSS are the license fees, but that’s another story 🙂
    QualityCenter isn’t easy comparable with Hudson. QualityCenter is a general purpose quality assurance system (or Test Management System, whatever the use you give to it) and offers you a complete integrated environment to plan, write, execute and control your tests and quality assurance activities. Of course you can have some of the tests running automatically also, but here come the effort of integration and probably you’ll have to pay to HP consultants to do that job 🙂 QualityCenter doesn’t care about the technicalities of your system, if it’s written in Java, Ruby, C++, C#, doesn’t matter at all.

    CruiseControl and Hudson fall under the category of Continuous Integration tools. QualityCenter and Huston or CruiseControl can coexist and in a perfect world they coexist.
    I think you can’t compare QualityCenter with Hudson or CruiseControl.

    • Jill Ireland says:

      This is a pretty critical distinction when Hudson and Selenium are introduced in a large, widely distributed enterprise environment, one in which both manual testing and automated tests are both important and Quality Center is the repository for both. Sadly, however, the automation tools also provided with QC and already integrated with it are falling behind the times – HP doesn’t seem to be giving them the same loving care as that formerly provided by Mercury Interactive. Advice regarding any available *efficient* integration solutions (HudsonQC) would be most welcome!

  5. Sr. Pires, how do you specify the host name in the email section such that it will include a correct link to Hudson when it sends emails. This s on the Mangage Hudson configuration page. I’m using Hudson with Windows.

    Doug Nickerson

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s