Posted by kohsuke
on October 31, 2006 at 11:56 PM PST
I posted a new version of Hudson, 1.59, today. Hudson is an extensible continuous integration engine.
I posted a new version of Hudson , 1.59, today. Hudson is an extensible continuous integration engine.
Lately I've been primarily trying to take out the "rough edges" in the usability — things like better error recovery and diagnostics, additional graph generations, some long-standing RFEs that were left in the issue tracker, visual improvements. Those are the things that differenciate a good software from mediocre ones, IMO.
One externally visible feature addition is the notion of "user" in Hudson. Now Hudson gives you a separate page for each user, and in that way you can quickly look at how your changes are affecting the build. In this way you can find out problems (build failure, regressions, etc)
more easily, by ignoring the problems other people introduced.
I've been making more investments internally, too. I've added Groovy support for stapler , so that I can write my views in combination of Jelly and Groovy. I can now only limit Jelly for "mostly HTML" tags, then combine them together with Groovy to render HTML. Those two can call each other seamlessly. I've also patched JEXL more so that I can directly access public fields, and get rid of some silly JavaBean getters.
Sandeep and I are also working a bit on JPRT fronend plugin for Hudson. JPRT is used by JavaSE folks to control the integration (Kelly was mentioning that he got some 30 machines for his JPRT farm — I wish I could get that many machines for my Hudson installation!). I'm also working with Rama and Ken at my work to bring them up to speed about administrating my Hudson installation.
So what's up next? I'll probably try to attack at least one of the two long-standing problems. One is to refactor the internals so that I can add a better Maven support as a plugin. I expect more projects on my day job to move to Maven in not-so-distant future, so I'd like to be ready before it happens. The other is to introduce a better remoting technology, so that I can offload more work from the master to slaves. Currently my Hudson installation has 14 slaves and counting, so it's becomoing more and more important to have a good remoting infrastructure, to perform things remotely.