April 2010

Hudson 1.355 Released

The release of 1.355 came out earlier this week but I hadn't had the chance to write anything up about it. Of course, the work never stops on Hudson so we almost have 1.356 ready to roll out the door, but then Kohsuke tweeted this:

Because of the data center migration going on, I won't be able to release #hudsonci today.

I won't go into details on some of the infrastructure changes we have lined up just yet, so here's the breakdown of 1.355

A new blog for Kohsuke

Historically, our fearless leader Kohsuke has blogged on Java.net. The setup made a whole lot of sense when Kohsuke was employed by Sun, then Oracle, which sponsors and runs Java.net. In a post earlier this week discussing console markups, Kohsuke casually pointed out that he will be cross-posting to Java.net, and his personal blog located at kohsuke.org. The first post over on Kohsuke.org welcomes us:

For the longest time I haven’t really done anything about kohsuke.org, but as I left Sun/Oracle, I decided to put a bit more effort into it. So this is the new home.

For the time being, I plan to post my blogs both on java.net and here.

If you're a reader of feeds, I recommend adding the rss feed for the blog to your list of interesting continuous integration/hacker feeds.


Hudson 1.354 Released

Hear ye, hear ye! Behold, the first release of Hudson ever made by a not-employed-by-Sun Kohsuke (as we covered last week). This iteration of Hudson contains only bug fixes, check the listing below for the specifics on which bugs have been fixed (1.355 is looking like it will contain a number of fixes as well). The release of 1.354 comes slightly later than usual given some of the logistics that needed to, or still need to be resolved.

One of the infrastructure issues that's half-way resolved is the question of Debian/Ubuntu packages. Kohuske has packages uploaded in an experimental apt repository on hudson-labs.org which you can try out. That said, it's not entirely clear whether this is going to be the preferred means of distributing native Debian/Ubuntu packages in the future (your mileage may vary).

Pre-tested commits with Git

At the first Bay Area Hackathon in mid-2009, the topic du jour was "pre-tested commits." As potential implementations of the concept were discussed over burgers from Brickhouse in downtown San Francisco, we realized as a group a few things: first, those burgers were delicious, but more importantly: pre-testing commits is very-SCM dependent and involves a lot of moving parts. One of the positive changes that came out shortly after the meet up was the support for "Concurrent Builds", allowing a job to be executed concurrently on different slaves, a precursor to pre-tested commit support. Fervor for the pre-tested commit feature lowered as time went on, the feature being too dependent on the SCM itself was generally accepted as the reasoning behind the feature languishing.

Chances are the feature is in fact too large for Hudson to support alone. It requires Hudson, the SCM and likely a third tool to work in concert together to perform such a feat.

With Git, and the phenomenal code review tool Gerrit, and the Gerrit plugin by intrepid plugin developer, Jyrki Puttonen, pre-tested commits with Hudson, Git and Gerrit are possible.

Kohsuke leaves Sun

Those of you on the users@ or dev@ mailing lists have likely already read that Kohsuke (left in the photo), the founder of the Hudson project, is leaving Sun. I say that he is leaving Sun, instead of leaving Oracle as Kohsuke worked at Sun for nine years and Oracle only a few months. In those nine years at Sun, Kohsuke has worked on some great products, the most notable of them being Hudson.

Per Kohsuke's post:

Where am I heading next? I'm actually starting my own company to take Hudson to the next stage.

What this means for Hudson still isn't certain yet, fortunately it means that Hudson will continue to have at least one full-time developer. It remains to be seen where KohsukeCorp (the name has not yet been disclosed) will focus within the Hudson code-base. For the greater user-base of Hudson, this means that the schedule for releases may slow down during this transitional period, there are some logistics to work out with Oracle regarding some of the hardware Hudson has traditionally used to host JIRA, this blog, and a number of other machines helping support the Hudson project in one fashion or another.

The next couple of months will be interesting for the Hudson community; as per usual you'll be able to get the latest updates from this blog or the @hudsonci twitter account. I'll let Kohsuke finish this post off:

And finally, big thank you to everyone in the Hudson community, and in a broader java.net community. I wouldn't be here without you guys, and I feel very proud that I'm a part of it.


Announcing the Hudson 2.0 Roadmap

There have been numerous discussions on the mailing lists over the past couple months regarding memory issues, speed regressions and a number of other issues regarding performance of Hudson, particularly under high load. In an effort to address these concerns, the Hudson core team has announced a roadmap for Hudson 2.0.

In a message to the dev@ mailing list, Kohsuke said of Hudson 2.0:

As it stands now Hudson 1.0 is a good proof of concept, it's time to take the lessons learned and build a truly solid enterprise-ready continuous integration server

Regarding the start of April

I had briefly contemplating what sort of silly posts I could write to celebrate April Fool's Day, when I sat down to write out some of them, I got a few sentences in and decided that they just weren't funny enough. Either I have very high standards, or I'm terribly unfunny.

The web is awash with April Fool's articles, comics, headlines and everything else, so instead I'm going to just give you a few useful links.

A couple of Twitter links

Besides the @hudsonci account, you can also follow a couple of Hudson's more notable (or was it notorious?) hackers, such as our benevolent dictator, Kohsuke Kawaguchi. Ben Shine from Yahoo! who's been working pretty hard on making Hudson prettier. Then there's John Ferguson Smart who's been working on a Hudson book. Of course I've tried to collect as many Hudson contributors as possible in the @contributors Twitter list.

Hacking Hudson

When starting to hack Hudson, it's useful to start by understanding how to build Hudson. If hacking Hudson's core isn't your cup of tea, you can always start with the plugin tutorial and try your hand at writing another awesome Hudson plugin. If you find yourself struggling to find out what methods do what while you're hacking, you can always visit the regularly updated, online Javadocs for Hudson

Communicate The two primary mediums for communicating with the Hudson community are through the mailing lists and the IRC channel. During "regular business hours" for the pacific standard time zone, you can usually get some decent real-time help or answers to most of your queries.

I'd list more, but I'm too busy reading about Google's nuclear weapons program. ;)