Tuesday, February 10, 2009

Hudson release plugin

Hudson is an awesome continuous integration server that really excels in ease of use, aesthetics and extensibility. At work, we have set this up to constantly build and report on our source code. This is the standard use case for any CI server.

But, CI doesn't complete the development lifecycle. The next step after CI, is to cut a release build that can be deployed into your test and production environments. The usual difference between a CI build and a release build is reproducibility and naming (giving a meaningful version to the build).

Our build tool of choice, Maven, has a command line release capability, but once you have been using Hudson, you really want to leave the command line behind. In order to take advantage of your Hudson project configuration at release time, I created a Hudson release plugin that performs the additional release steps that a usual CI build doesn't do.

This plugin has worked successfully for 6 months or so for us and I was hoping that the rest of the community could leverage this as well.

No comments: