CruiseControl is an excellent build server available here. I like to use it since it can handle most usage scenarios and since it's free. There is also a nice little plugin to Firefox here, that enables you to see status of the build server at a glance and also to execute specific commands like starting a build. The commands are sent using JMX and I've discovered a small error in the plugin that unfortunately means that it doesn't work with the latest version of CruiseControl. It's simple to fix though, so here's the fix:
Find the file cc.js that should be in a folder with a path similar to this one:
C:\Documents and Settings\mno\Application Data\Mozilla\Firefox\
Profiles\g4md1gst.default\extensions
{8C2AEDBC-6332-41c5-935D-1948541DCD56}\ chrome\cc\content\cc
Find the definition for the function ccSelectMenuProject(projectName, action). Then edit the line:
var url = this.prefs.jmxUrl+"/invoke?template=identity var url = this.prefs.jmxUrl+"/invoke?operation="+action+
&operation="+action+"&objectname=CruiseControl+
Project%3Aname%3D"+projectName;
So that it instead looks like this:
"&objectname=CruiseControl+Project%3Aname%3D"+projectName;