I thought I’d setup a new continuous integration server at home tonight and had heard good things about Hudson lately so I gave it a try. I downloaded the war and ran it as directed and got it configured pretty quickly to pull my source from my hosted subversion repository. The build ran fine, my unit tests ran fine, it published my javadoc into the workspace and all was good in the world. Then I tried to install it as a service on my system which just happens to run Vista (please, no comments regarding Vista). Crap! (well, I had worse thoughts but this is a relatively family friendly blog)
According to the docs it should work. I am running as a user with administrator privileges and so forth. Apparently creating a service in Vista requires you start the process as administrator (i.e. root). That requires you to open up explorer, right click on the install batch service and click “run as administrator”.
You’re not done yet. Then you have to go in and change the user you want the service to run as in the service configuration in the services control panel module. It will then grant the user run as a service privileges and it will actually allow you to now start it as a service.
I also recommend changing the port it runs on by default since most of you probably run your JBoss or Tomcat instances on 8080 when you’re developing.
Overall I think Hudson is great so far but this is just a little gotcha you should be aware of when running it as a service on Vista.