Installing and Configuring a Build Agent

First, download the Continuum Build Agent standalone distribution or webapp.

Standalone

The Build Agent is available as a separate standalone Jetty-bundled webapp. Installing it is as simple as extracting it to a preferred directory.

The Build Agent runs on a specific port (defaulting to 8181), so it is possible to install multiple Build Agents in one machine. It is also possible to install Slaves in the same machine as the Master. To configure the Build Agent to run using a different port, edit the $CONTINUUM_BUILDAGENT_HOME/conf/jetty.xml file.

Another configuration file to look at is the $CONTINUUM_BUILDAGENT_HOME/conf/continuum-buildagent.xml. This file must be manually edited, as there is no web interface for configuration.

<continuum-buildagent-configuration>
<buildOutputDirectory>/path/to/build/agent/data/build-output-directory</buildOutputDirectory>
 <workingDirectory>/path/to/build/agent/data/working-directory</workingDirectory>
 <continuumServerUrl>http://builds.example.com:8080/continuum/master-xmlrpc</continuumServerUrl>
 <installations>
  <installation>
    <name>Maven 2 Home</name>
    <type>maven2</type>
    <varValue>/Applications/apache-maven-2.0.9</varValue>
  </installation>
 </installations>
</continuum-buildagent-configuration>

A minimal configuration will have the following fields:

  • buildOutputDirectory - similar to the build output directory of Continuum
  • workingDirectory - similar to the working directory of Continuum
  • continuumServerUrl - the url pointing to the XML-RPC context of the Master Build Agent
  • installations - a list of the installations available on the build agent, including Maven, Ant, JDK, etc.

Note that all of your agents need to be identical, as there is no way to control which agent Continuum chooses. In addition, if you are using the Continuum Release functionality, the master needs to match the agents, as releases will be executed on the master.

Now start the Build Agent by executing the startup script available in $CONTINUUM_BUILDAGENT_HOME/bin/. For example:

continuum-buildagent start (or continuum-buildagent console on Windows).

Next, enable the Distributed Builds option in the General Configuration, and add the agent to the Continuum master server.

TODO: Does the Jetty bundle still want CONTINUUM_BUILDAGENT_HOME set?

Webapp

The build agent is also available as a web application which you can install into your own container.

The build agent needs two things in order to function properly: A CONTINUUM_BUILDAGENT_HOME environment variable, and a continuum-buildagent.xml configuration file in $CONTINUUM_BUILDAGENT_HOME/conf.

First, set the environment variable:

export CONTINUUM_BUILDAGENT_HOME=/path/to/build/agent/home

or

set CONTINUUM_BUILDAGENT_HOME=c:\path\to\build\agent\home

Next, create the continuum-buildagent.xml file as shown above, and save it in $CONTINUUM_BUILDAGENT_HOME/conf. You will need to create these directories.

Finally, drop the webapp into your container, and start it.