## Installing and Configuring a Build Agent

Note: It is recommended to use Build Agents that come with the release of Continuum (Continuum Master) to be used. While 1.3.x Build Agents can be used with 1.4.x Continuum (Continuum Master), using a later version of Build Agent than the Continuum (Continuum Master) will not work.

### 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 Build Agents 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 this 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>
<localRepositories>
<localRepository>
<name>default</name>
<location>/home/user/.m2/repository</location>
<layout>default</layout>
</localRepository>
</localRepositories>
</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 Continuum Master
• installations - a list of the installations available on the Build Agent, including Maven, Ant, JDK, etc.
• localRepositories - a list of the local repositories that will be used by the build agent when building and releasing projects. The local repository name must match that of the local repository configured in the Continuum Master. This configuration is only available in Continuum 1.4.0+ to fix CONTINUUM-2391.

Note that all of your agents need not be identical, as there is a way to control which agent Continuum chooses by using a Build Agent Group. In addition, you need to configure the Build Environment from the Master in order to specify which installation to use for the build.

Now start the Build Agent by executing the startup script available in $CONTINUUM_BUILDAGENT_HOME/bin/. For example: continuum-buildagent start or if you are on Windows continuum-buildagent.bat console Next, enable the Distributed Builds option in the General Configuration, and add the agent to the Continuum Master server. ### 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.