Hudson Distributed Fork Plugin
Most of the tests written today are designed to be executed on a single system (in fact, many of them don't even try to use multiple threads.) This tends to increase the time it takes to run tests, which in turn hurts our productivity. The way I see it, the reason such a single system environment is assumed (despite the fact that we are almost always connected to a...
on Jul 15, 2009
To quote the announcement e-mail from R. Tyler Ballance:
Howdy everybody, I pitched this idea to Mike (mrooney) and Kohsuke onIRC and I wanted to spread the word further.Me and by extension my employer (Slide) are hosting a Hudsonhackathon/meetup on Saturday, July 18th in downtown San Francisco.I personally wouldn't mind getting some other hackers in the same roomtogether, perhaps to hack on...
on Jul 13, 2009
A Hudson committer Seiji Sogabe put together a chart that shows the growth of Hudson plugins. He wrote a little program that scrapes the download section of the Hudson java.net project, and determined when the first version of each plugins are released.
The blue bar shows the new plugins released in the given month, and the red bar shows the total number of plugins available to that date. While...
on Jun 21, 2009
Eclipse community did a survey on Java developers, asking various questions.
One of the questions they had was what build tool they use, and here you can see the adoption of various CI tools:
Among CI tools, Hudson is #1 with 128 votes, followed by Cruise Control with 67 votes. Bamboo is in the 3rd with 19 votes, and the rest is insignificant. So this is another validation that Hudson's...
on Jun 10, 2009
(Translated from the original article written in Japanese)
This article shows how to prepare a Live USB stick that becomes a Hudson slave automatically, by using the Hudson swarm plugin.
PC that supports USB boot
USB stick (at least 512MB, but depends on the projects to build. I used 8GB)
Functioning DCHP server on the network
Slax ISO image.
Slax JDK module jdk-...
on Jun 7, 2009
The slides are available here.
on Jun 4, 2009
JavaOne is just a few days ahead now, so let me recap what's happening around Hudson during JavaOne.
On Sunday, we have Unconference (RSVP) and a party at the Thirsty Bear (RSVP to "RSVP-ThirstyBear2009 at sun dot com".) The great thing about Unconference is that we have a big block of time (6 hours, in fact, if I'm reading it right), where enough people gather. So we have enough time to really...
on May 28, 2009
I run a budget-less Hudson cluster, just like many of you do, and one of the challenges is to have enough computing resources in a cluster. I rely on recycled computers as the main workhorse, so I constantly look for unused computers under people's desks, and when people give them to me, I reinstall them as Hudson slaves.
In this process, I learned a lesson; people don't like to be separated...
on May 23, 2009
In my attempt to make Hudson EC2 plugin (which I blogged earlier) work with Windows AMIs, I wrote a little SSH daemon.
Here's the problem statement. Windows AMIs on EC2 do not have any built-in programmable remote access technology. This is a really poor packaging job of Amazon — their documentation talks about doing the remote desktop protocol (RDP) to talk to the server. This obviously...
on May 20, 2009
If you want to translate your message files for a couple of different languages, but you do not have money, do not have time, do not have language specialists friends or do not have anything else to help you, we have a solution... actually we got a "use at your own risk" solution!
Here are the steps:
Download google-api-translate-java-0.53.jar and use it in the classpath.
Configure the default...
on May 19, 2009
I've released the
Hudson Selenium plugin, which instantly lets you deploy Selenium
Grid on top of your existing Hudson cluster. By using this plugin, you
can start using Selenium Grid without installing it on individual
machines in the cluster manually. This is the latest addition to the
family of plugins that let you reuse you Hudson cluster infrastructure
for additional purposes.
on May 16, 2009
Whether you recycle old PCs or use new ones as Hudson slaves, you have to first install an OS on a system. As the Hudson cluster I managed gets bigger, I find this more and more painful. You have to have a CD of the OS, and you have to have a working CD-ROM drive (somehow on recycled PCs, CD-ROM drives are often unreliable.)
Then the installation itself is rather boring, yet it's interactive....
on May 11, 2009
Japan is in the middle of a week long holiday this week, so our Japanese Hudson committers are cranking out a lot of cool stuff.
This one is from Kiyotaka, who wrote a Hudson plugin called GCrawler.
GCrawler (1) searchs Google Code and discovers all Grails projects, (2) reads Subversion repository to figure out metadata, and (3) automatically add them to Hudson and builds them.
The net result...
on May 8, 2009
This is from Seiji Sogabe, who is a Hudson committer. He put together a chart of the hudson.war size from 1.100 to 1.300. This is another way to see the progress in Hudson.
Off the top of my head, a big jump in 1.160 or so is probably the native Maven2 support, but I don't know what's the jump around 1.280 — maybe we picked up extra unnecessary dependencies? With Maven, it's so easy...
on May 7, 2009
"You can do everything from GUI" has always been one of Hudson's strengths, and we also have the REST API, but at the same time, CLI is also very useful for improving automation around administration, builds, and so on. So starting Hudson 1.302, I added a CLI agent to Hudson. CLI can be downloaded from your Hudson from http://server/hudson/cli, which also shows you the basic usage.
on May 2, 2009
Hudson has reached version 1.300 last Friday. While it's not like this release is fundamentally different from any other past releases, it does feel like it is some kind of a milestone.
The community continues to grow. We have around 1500 human-generated e-mails per month nowadays, with 7500/wk or so downloads of hudson.war. Access to the update center is increasing steadily last time I checked...
on Apr 22, 2009
I think most of my projects are driven by anger/rage, and this one is no exception. I was doing a hobby project, and I had to write a META-INF/services/Something file and put a fully-qualified name of my class that implements Something.
Now, I've done this countless times, and while I hated every time, I sort of looked the other way and just wrote it manually. But tonight, I guess it was just...
on Mar 26, 2009
Monitoring GlassFish HTTP service using VisualVM.
GlassFish application server has some motniroting features which are exposed through its administration chanlles including Administration Console and asadmin utility. I disucssed some of these features here and in this we will see how we can use visualvm and its plugin as a desktop application to monitor GlassFish HTTP service.
VisualVM is JDK...
on Mar 23, 2009
Here at my work, I take care of a 30-40 node Hudson cluster for our group. This is probably a relatively bigger Hudson cluster, but I know people out there do set up Hudson clusters of various sizes.
Hudson cluster is used for doing builds, obviously, but I've been thinking it would be nice if this cluster becomes multi-purpose, because there are a lot of things we could do better if we have a...
on Mar 15, 2009
The java.net Maven2 repository was set up about 2.5 years ago so that people hosting projects on java.net can push artifacts to a Maven repository.
This repository has grown in size to the point that it puts significant strain on the java.net system. So to improve the situation, we are moving the location of the repository from http://maven2-repository.dev.java.net/svn/maven2-repository/trunk/...
on Mar 9, 2009