Now I have finally managed to get a complete tool chain for continuous automated builds of the NetHomeServer. I have been using Subversion, JUnit and Eclipse for quite a while, but always been building and running the JUnit tests from Eclipse. Now I have completed the tool chain with ant-scripts to do the builds and tests and finally Hudson to actually perform the builds and tests automatically every night. Hudson was a new experience for me, and quite a pleasant one. Hudson is a relatively new open source tool for automated builds and it was very easy to set up and configure on my Ubuntu-server. A really nice touch is that it can automatically download and install the Java-JDK:s and Ant-versions you need.
There is however one little detail that is very poorly documented, and that is how you configure the local URL-path when you run it as a daemon. You need to change it so it is not directly under the root-url in order to be able to access it via an Apache proxy (for example to http://myserver:8080/hudson). This is done by editing “/etc/default/Hudson” and adding the argument “--prefix=/hudson” in the HUDSON_ARGS-variable. It’s these little annoying things that take up 90% of the time when you are installing new stuff.
The automatic build are now transferred to the download page every night together with the test report for that build. The builds are made from the current state of the trunk, so they may be unstable and contain unfinished functions – but they are fresh :-).