Getting started with CruiseControl is relatively straightforward, see http://confluence.public.thoughtworks.org/display/CC/Getting+Started+With+CruiseControl
To place an application on CruiseControl it should have an Ant script to build it. The application Ant script does not need to interact with Subversion. The source for the application including the Ant script should be checked into Subversion.
I started to install CruiseControl by downloading and compiling the source, but my version of ant was too old. Instead I downloaded the binary (which ironically includes a newer ant also):
su - wget http://downloads.sourceforge.net/cruisecontrol/cruisecontrol-bin-2.7.2.zip unzip -d /opt cruisecontrol-bin-2.7.2.zip useradd --system --home /srv/cruisecontrol --create-home --gecos "System account to run CruiseControl" cruise usermod -s /bin/ksh cruise su – cruise mkdir checkout logs artifacts PATH=$PATH:/opt/subversion-1.3.2/bin/:/opt/cruisecontrol-bin-2.7.2 cruisecontrol.sh
Now we need to configure CruiseControl to monitor the Subversion repository. Create config.xml:
Build-myproj.xml contains Ant steps to checkout a clean copy of the application and build it:
To setup the dashboard, running at :8080
su - cruise cp /opt/cruisecontrol-bin-2.7.2/dashboard-config.xml . kill `cat cc.pid` cruisecontrol.sh