Hosted By:

Upgrade Notes


Add ability to read Live Output from remote agents using Build Agent Utility.


Added JMX Build Agent Utility.

Added Lookup Services control feature to the Agent Utility. Allows you to stop a LookupService and it's ClassServer. (Note: We can always stop a LookupService, but the Swing Agent Utility can only stop the ClassServer on the localhost and the JMX Agent Utility can only stop the ClassServer on the host running the JMX server.)

Remove deprecated BuildAgentService.doBuild() methods.


The ant builder with showProgress=true issues (mentioned below in the 2.7.1 notes) have been solved via the use of a JNLP Extension to install the required cruisecontrol-antprogresslogger.jar.

New optional <remoteResult> child tag, see Child Elements for details.

Add java.verson to the list of automatically defined agent entries, as the existing java.vm.version shows the hotspot vm version in 1.6.0_04+


The ant builder with showProgress=true has known issues when using Java Web Start 6.0 to deploy build agents. See Java Web Start deployment of build agents for details/workarounds.


The module attribute has been removed, so you must remove it from your config.xml.


CCDist no longer uses the SelfConfiguringPlugin API, but instead takes advantage of Serializable Builders. Also, the module attribute is no longer used by the DistributedMasterBuilder. The Project Name is used instead (since the 'projectname' property is now passed into all calls). The module attribute is deprecated and will be removed in a future release, so you should remove it from your config.xml.

Build Agents now support the assignment of 'EntryOverrides' that can be set at runtime. see Advanced Configuration - Build Agent Entry Overrides for details.


The current version of the CruiseControl Distributed extensions (CCDist) has been updated to use the most recent version of Jini (v2.1). In an attempt to better organize the CCDist tree to support the new Jini, a problem was discovered with the packaging of CCDist in versions up to and including v2.6. Prior CCDist versions mistakenly included reggie-dl.jar in the dist/agent/lib directory. For the curious, the name of this jar (with the -dl ending) indicates this jar is intended to be served by the Jini Lookup Service (or registrar) and automagically downloaded by users of the Lookup Service (for example, a Build Agent, DistributedMasterBuilder, or anything else doing lookups to find services). Including reggie-dl.jar in a Build Agent's classpath results in the Agent never downloading new versions of classes in that jar from any Lookup Service. This leads to problems where CC 2.6 Agents and DistributedMasterBuilders can only register with CC 2.6 Lookup Services.

The quick and dirty solution is to just keep an old 2.6 version of the Lookup Service running until you've upgraded all older builds to the current CCDist.

If that is not an option, to allow CCDist 2.6 Build Agents to function properly on a network with current CCDist, you should edit the CCDist v 2.6 source tree using one of the solutions described below (listed below in preferred order). The goal is to remove reggie-dl.jar and reggie.jar (since reggie.jar includes some classes that should only be downloaded) from all classpaths, except that of the 2.6 Lookup Service.

  1. Open the contrib/distributed/build.xml file and edit the init-agent target, commenting out the fileset include for reggie-dl.jar.
    <copy todir="dist/agent/lib">
        <fileset dir="lib">
            <!--include name="reggie-dl.jar" /-->  <!-- This is what you comment out /-->
            <include name="jini-core.jar"/>
            <include name="jini-ext.jar"/>
            <include name="jsk-platform.jar"/>
            <include name="tools.jar"/>
            <include name="start.jar"/>
    (If you use webstart to deploy Agents, also remove the reggie-dl.jar reference from webcontent/webstart/agent.jnlp).

    Then re-build CCDist 2.6. This will rebuild the dist/agent dir (and zip), and any future rebuilds of CCDist 2.6 will be fixed.

  2. If you never rebuild CCDist 2.6, you can manually delete reggie-dl.jar from dist/agent/lib. If you use dist/, also delete the jar from that zip file.
You also need to exclude reggie-dl.jar AND reggie.jar from the classpath of the main CC VM running the DistributedMasterBuilder.
  1. Copy the contents of contrib/distributed/lib to a new directory, say contrib/distributed/nodl. Delete reggie-dl.jar AND reggie.jar from this new dir. Then edit your CCDist startup script to use only the new directory. For example, in, change
  2. If you never rebuild CCDist 2.6, you can manually delete reggie-dl.jar AND reggie.jar from contrib/distributed/lib.
The same classpath issues exist for 2.6 Interactive Build and Agent Utilities (though it's probably best to use the latest versions of these). Of course, you could always upgrade all your CCDist systems to the latest version, and not worry about any of this stuff.