Agent Side Extensions

You are viewing documentation of TeamCity 3.x, which is not the most recent released version of TeamCity. Please refer to the listing to choose another version.
Documentation Index

Agent-Side Extensions

Currently, there are two ways to extend build agent:

  1. Write a custom build runner
  2. Write an extension to AntRunner (for instance, to process custom tasks)

Both approaches use similar way of plugin packaging and deployment (see below).

Descriptor

Plugin descriptor for the build agent plugins is named build-agent-plugin.xml. A build agent reads its plugins using
NanoContainer:

<container>
  <component class="jetbrains.buildServer.agent.nant.NAntBuildRunner"/>
</container>

Package your build agent plugin as a zip archive with the following content:

<pluginName>
 <pluginName>/lib/
 <pluginName>/lib/pluginJar1.jar
 <pluginName>/lib/pluginJar2.jar
 <pluginName>/otherDir/
 <pluginName>/otherDir/someFile.txt

This archive will be unpackaged in the plugins subdirectory during the build agent installation:

buildAgent/
 buildAgent/bin/
 buildAgent/lib/
 buildAgent/plugins/<pluginName>/
 buildAgent/plugins/<pluginName>/lib/
 buildAgent/plugins/<pluginName>/otherDir/

Writing Ant Extension

Implement jetbrains.buildServer.agent.ant.AntTaskExtension interface and register it as a component in
build-agent-plugin.xml file.

Deployment

To deploy a build agent plugin:

  1. Copy a build agent plugin's zip archive to the /update/plugins directory on the Team Server.
  2. Copy server part of the plugin into the WEB-INF/lib directory of the Tomcat server. If server part was modified, restart Tomcat server.
    Agents will download updated plugin automatically.

Labels

 
  1. Apr 24, 2008

    Yegor Yarko says:

    Agent plugin sample: