Thursday, September 3, 2009

Contributing Hudson plugins

Hudson is a Continuous Integration software that makes the developer's life easier. I don't believe it is better than CruiseControl, but at least, it is more friendly configurable.
It's plenty of plugins which add hudson tons of features. Most of then are well developed, documented and tested, but there are several ones which have a lack of features.

Lately I've been playing and installing hudson-jmeter plugin in order to monitor my Company's web servers. Even though this is a cool plugin, it is incomplete because it is only able to store and display statistics in the case of success builds.
But what I wanted was to have an easy way to monitor my services and a simple page where I can view the history of performance and availability.

Finally I've decided to modify the plugin, and I've added a new feature which sets a build as unstable or failure, based in the percentage of errors reported by jmeter. I've sent this patch to hudson guys. The patch also includes some fixes to the code.

Update: (Dec-2009), jmeter plugin v0.3.0 includes this feature, and I became a committer of Hudson.
Update: (May-2010), jmeter plugin doesn't exist any more, now it is called performance plugin because it handles jmeter and junit reports, and it it ready to add more parsers.