In my last post I talked about getting involved with the Hudson project. In this post I will describe the steps I took to set up my build environment.
- Get JDK 6.0 (Hudson cannot be built using 5.0 or earlier) and install it.
- Get Subversion and install it.
Read the rest of this entry »
No Comments »
In an earlier post I wrote about my experiences trying to write a plugin for Hudson. In that article, I wrote about how I basically gave up because I was having too hard a time wrestling with Maven for the small amount of code I was writing.
Well, time passes, and I decided to try again, but this time I decided to look into what it would take to fix an issue I’ve had with Hudson. (For the curious: at the time of this writing, Hudson cannot verify that your LDAP settings are correct if your server does not allow anonymous binding - issue 1589).
Read the rest of this entry »
1 Comment »
As I mentioned in an earlier post, I have been messing with developing a plugin for Hudson, which is in my opinion the best open-source continuous integration tool out there. It’s phenomenally easy to set up, it does most everything you need it to do right out of the box, and has a large number of plugins available to extend its function, such as support for Emma, Cobertura, PMD, Checkstyle, and even more unexpected things such as Nant and NUnit, Jira, even Ruby (which I’m sure my friend Mike just loves).
But it doesn’t have something I would like to see. I’d like to be able to define (in my job config) a descriptive name and location in the workspace of specific artifacts generated during my build - a sort of “General Publisher”. For example, if my build generates a test PDF, I would like to have a link titled “Test PDF” show up in the central part of the build results page similar to the “Test Results” link, or to the left like the console output links. Same for if my build generates numerous HTML files (there have been numerous times when I needed to do XSL transforms off of source XML files to make a documentation mini-site similar to Javadoc).
Now, of course there is a way to do something kinda close already. You can tell Hudson to keep the desired files in the “Archive the Artifacts” box under “Post-build Actions” and it will make a link for your artifacts on the page. But there’s a couple ways in which this falls short. One is that you don’t get a descriptive name for what you’re archiving and what Hudson displays. A second is that if you want to display a generated multi-page site you need to put the name of the base directory in the “Archive the Artifacts” box — and when Hudson sees multiple artifacts in the list, you basically just get a clickable directory listing of the archived files, from which you need to pick out “index.htm” or whatever to really view the web pages.
So I decided to try writing a plugin to do what I wanted.
Read the rest of this entry »
1 Comment »