Thursday, September 16, 2010

On the road towards Apache Karaf 2.1.0

This week we started the process of moving Apache Karaf trunk towards a 2.1.0 release. As part of this release I'll be acting as the release manager. This has meant that I've been spending time reviewing our issue tracker and delegating tasks to contributors/committers. Once we have a stable source tree I'll proceed to follow our release guide to deliver the new build.

A couple of notes from my experiences on the road towards this release:

Test build with every Java version you have at your hands - you'll catch the small gotchas that creep in with Java 5/6 incompatibilities or between vendors (Sun/Oracle, IBM, and Apple JVMs).

Double check, then check again for any lingering SNAPSHOT versions in your dependencies - finding a SNAPSHOT late in the game means having to put your release on hold while another project goes through it's release process.

Branch your current trunk - this lets further development carry on in the case that your experiencing delays cutting your current release.

If you can, build up a reliable build infrastructure - My previous release was performed upon a Ubuntu Linux 10.04 LTS VM hosted on Virtualbox on my macbook. This setup was actually quite reliable, however an unplanned swimming trip my macbook took could have wiped out this release environment. My new release environment is now comprised of a pair of Dell 1850 1Us in failover configuration, on a line conditioned UPS, sitting behind a BSD based firewall (back ups is currently external hard drives, will add to this setup over time).

I hope to have the next release of Apache Karaf out soon, so stay tuned for an announcement.