Continuum is a tool that supports the practice of (automated) Continuous Integration (CI). In this entry, I discuss the basic setup and configuration of the tool.

Continuum has been available for about a year. It is a part of the Apache Maven project. It has built-in support for the Ant, Maven and command-line (shell) build tools. It is open source and freely available for download. Currently, Continuum fully supports five popular version control tools. They are: CVS, Subversion, Bazaar ,StarTeam, and Perforce. There is partial support for ClearCase, Visual Source Safe, and a file system.

To install, you download a file and run a command program. Continuum can be administered using a web-based application. “Out of the box”, like Luntbuild, all of the configuration and administration is performed using the web-based application.

After logging in, you can select one of the four types of projects: Ant, Maven, Maven2, and Shell.

Step One: Download, Installation, and Configuration

  • Download the zip file
  • Extract the zip; For example, I extracted it to C:\dev\tools which created the C:\dev\tools\continuum-1.0.3 directory

Installation and Configuration
I chose to install Continuum as a Windows service, so the following steps applied. Because I was already running a Tomcat server at port 8080, I modified the port node in the apps/continuum/conf/application.xml file, as shown below.

Change port number

    From the directory you downloaded Continuum:

  • Select the bin directory and enter run from the command line
  • Open a different command prompt and enter InstallService

This starts the Continuum service for Windows. Continuum uses a Jetty server under the hood. You may now access Continuum at http://localhost:[yourport]/continuum. When you first access it, you will see a page similar to this:

Continuum main page

Step Two: Creating a project
Using Ant
I already had an Ant build script, so I chose to create an Ant project in Continuum. Upon selecting the Ant project, the page below was displayed. There is context-sensitive help embedded into the application. For instance, there are examples for SCM url format that Continuum requires. Furthermore, Continuum establishes a number of defaults for you. This includes the build tool location and a default scheduler - which checks for changes to your SCM every hour.

Project

Step Three (Optional): Modifying the Scheduler
By default, Continuum sets up a schedule to check for changes to your version control repository every hour. Because I want to check for changes more often, I added a new schedule to check every five minutes as shown below. Then, I modified my project to use this new scheduler called CONTINUOUS. You will use the cron format to modify how often Continuum looks for chanes to your SCM
Schedule
If you are using Windows, Continuum will always detect the build as being successful. The fix for this is described here. To quickly make the fix, you can replace your ant.bat file with this file.

Monitoring Builds
After logging in, you see the main page for Continuum. You may use this page to monitor your build status.
Monitoring builds

You can control access with Continuum using roles, based on capabilities using the Users Group Management menu item.

This was just an intro to setting up Continuum. For more information on installing, configuring, and administering Continuum, see the Getting Started Guide provided on its website.