Continuum - a project developed and maintained under the Apache umbrella – is a continuous integration server that is fully integrated with many popular build systems (most notably maven2) and supports automated building, testing and releasing of applications. Continuum can be either deployed as a stand-alone server or inside an application container; this tutorial is focused on the latter scenario since it involve some non-trivial preparation.
The objective is to deploy Continuum inside Tomcat 6 and set it up to build and test our project at every change.
The deployment environment is the following:
Debian squeeze tomcat6 6.0.28 openjdk-6-jdk 6b18-1.8.7 maven2 2.2.1-5 subversion 1.6.12dfsg-5
The package mentioned above can be installed and set up automatically using aptitude. Continuum – however – is not packaged and needs to be installed manually. In this tutorial we use Continuum 1.4 beta (the war, but the tar.gz will come in handy during the deploy).
Before setting up the web application, we need to setup the workspace for Continuum; Tomcat, in Debian, runs as a separate user (tomcat6) and is not able to write outside its directories. To host Continuum configuration files, databases, work area, and maven local repository we need a directory that is accessible to Tomcat for writing operations:
mkdir /var/lib/continuum
mkdir /var/lib/continuum/{conf,data,db,logs,m2}
chown -R tomcat6.tomcat6 /var/lib/continuum
