CruiseControl Configuration Reference
CruiseControl configuration files are written in XML. This document describes the XML elements and attributes for the Team Foundation Server integration. For the complete reference guide, see the CruiseControl web site.
<tfs>
Triggers a build if there is a change within a Microsoft Visual Studio Team Foundation Server (TFS) repository.
Changes are detected by calling out to the TFS command line (tf). Microsoft provide the tf.exe command line tool as part of the Team Explorer client installation on Windows platforms. For information on obtaining the Microsoft Team Explorer client, visit CodePlex wiki. Teamprise also provide a tf command that works cross-platform including GNU/Linux, Mac, MP-UX and Solaris platforms as well as Windows. To download the Teamprise command line client, visit the Teamprise download site (fully functional evaluation licenses are available). Note that the Teamprise client requires activation when using it with a purchased license, for instructions on how to activate from the command line consult the Teamprise Knowledgebase.
Changes in TFS are detected by running a command similar to the following:
tf history $/TeamProjectName/path
-version:D2006-12-01T01:01:01Z~D2006-12-13T20:00:00Z
-recursive -format:detailed -noprompt
-server:http://tfsserver:8080
-login:DOMAIN\name,password
For further details regarding the tf history command, consult the MSDN documentation.
It is worth noting that this implementation of integration with TFS works with both the Microsoft tf.exe and the Teamprise tf command line client using the same command strings. There are some small differences in the output of the two commands, however this is taken into account in the parsing logic contained within this integration.
Attributes
| Attribute | Required | Description |
|---|---|---|
| tfPath | No (defaults to "tf") | Specify the full path to the tf command being used. If
not supplied then the plug-in will try to locate a command
called "tf" in the cruise control system path. By default,
the Microsoft client is installed into C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\TF.exe
|
| server | yes | URL to access the Team Foundation Server including port, for
example http://tfserver:8080 |
|
projectPath |
yes | Path in the TFS repository that is recursively checked for modifications. Any changes under that path will trigger a build. |
| username | no | The username to use when connection to Team Foundation
Server. This user must have read permissions to the
version control repository for the projectPath. When using
the Microsoft client, if no username is passed then the user
that the CruiseControl process is running as will be used.
Note that is a username is provided then a password must be
provided in order for the credentials to be used. The username should be passed in the form DOMAIN\username.
From unix systems the name can be passed in the username@DOMAIN
format if preferred as that removes confusion over escaping of
the \ character which should not be required. |
| password | no | The password to use with the username when authenticating with the server. |
| options | no | An optional string that may be passed as part of the command line. The contents of the options tag are passed as an argument to the tf history command. |