Good Weather for Hudson

posted 12:53PM Jul 23, 2007 with tags continuousintegration hudson softwarequality by Lars Trieloff

Did I already mention that I am a fan of Hudson? Yes, I did, but this new feature is too nice not to blog about:

http://weblogs.goshaky.com/weblogs/lars/resource/hudsonweather.png

I've updated to Hudson 1.200 to fix a bug with Maven 2 multimodule builds, and was surprised by the new long-time build trend indicator that shows you the "build status weather report". At a glance you can see if the current build is a stable build in a row of stable builds or if it just has been fixed or broken. A really nice feature.

Dependency Tracking in Hudson

posted 12:50AM Jun 16, 2007 with tags continuousintegration hudson softwarequality by Lars Trieloff

Whenever I install or upgrade Hudson, the easy-to-use, Java-based continuous integration server, I am positively surprised how quitely and effectively new features are added and implemented. This time it is the dependency tracking of projects that is automatically extracted from Maven pom.xml files which leads to a complete rebuilt of all upstream projects once a dependency has been changed.

In any case you should check out the interview with Kohsuke Kawaguchi, creator of Hudson at java.net.

Maven 2 support in Hudson

posted 11:45AM Feb 05, 2007 with tags continuousintegration hudson maven opensource softwarequality by Lars Trieloff

Some days ago I wrote about Hudson, a continuous integration server:
It is not as feature rich as some other continuous integration systems listed on the Continuous Integration Server Feature Matrix, it's Maven integration is not as deep as Continuum's but it does its job, is easy to setup and offers a clean and friendly user interface.
At least for the Maven 2 support I have to revise my statement. With Hudson 1.78 released yesterday there is experimental Maven 2 support. Kohsuke Kawaguchi, creator of Hudson writes:
Since I rely more on Maven2, I wanted more Maven2 support in Hudson. It can already build a Maven project, but it didn't natively understand Maven — so you still have to specify what jar files to archive, what javadoc to copy, what builds to run once your build is finished, etc. But since much of the information is in POM already, I thought it would be really nice if Hudson can understand POM. So I started working on this some time ago, and it's finally getting into a presentable shape. The newly posted Hudson 1.78 is the first version with this feature enabled.
One thing I like most is the relatively loose integration with Maven. In Continuum for example you have to upload a pom.xml and if this pom does not include properly configured version control system links, you cannot start a build. With Hudson you still have the opportunity to start with an underspecified pom and a Subversion URL and your sceduled build is prepared in minutes.

Underappreciated Software: Hudson, a continouous integration server

posted 07:52PM Jan 31, 2007 with tags continuousintegration hudson opensource softwarequality by Lars Trieloff

For one week we (Mindquarry) are now using Hudson as a continuous integration server. It replaces our old CruiseControl installation and so far I am very satisfied with Hudson's performance: It was very easy to setup:
  1. install Apache Tomcat 5.5
  2. download hudson.war
  3. start tomcat
With Hudson's web-based administration user interface I could setup tasks for every Mindquarry sub-project without editing configuration files, everything I needed was pointing Hudson to the Subversion URL and enter the maven goals. Hudson sends e-mails to everyone who broke the build and the project manager, creates RSS feeds, has a nice user interface and just works.

It is not as feature rich as some other continuous integration systems listed on the Continuous Integration Server Feature Matrix, it's Maven integration is not as deep as Continuum's but it does its job, is easy to setup and offers a clean and friendly user interface.

In fact, in the beginning of the Hudson project, it was heavily inspired by DamageControl, a Ruby-based Continuous Integration Server project that I contributed to, but evolved into a stable and useful project of its own.

| Comments[5]