Search:     Advanced search

Surround SCM CruiseControl.NET Integration

Article ID: 771  |  Last updated: 23 Dec, 2014

Surround SCM supports integration with CruiseControl.NET. See Surround SCM Third-Party Integrations for supported versions.

This article includes information about integration requirements, configuring the server, branching and labeling, running builds, and troubleshooting.

Note: The following example was tested using CruiseControl.NET 1.6.7981.1 and Surround SCM 2012.1.


The login credentials used to connect to the Surround SCM Server are displayed in build reports and any batch files used to create snapshot branches or labels. The build user must have read-only access at the file level and permission to log in from the Surround SCM CLI, get files, and create branches.

Configuring the server

To use the integration, add the project files to Surround SCM and the following information to the CruiseControl.NET server configuration file (e.g., C:Program FilesCruiseControl.NETserverccnet.config).

  • project name—CruiseControl.NET project name
  • sourcecontrol type—Enter ‘surround’ as the value
  • executable—Full path to the Surround SCM CLI (e.g., C:Progam FilesSurround SCMsscm.exe)
  • serverconnect—Surround SCM Server address and port number. If you received a server settings file for RSA key exchange from your Surround SCM administrator, specify the full path to the XML file instead.
  • serverlogin—Surround SCM username and password
  • branch—Surround SCM branch
  • repository—Surround SCM repository
  • workingDirectory—Full working directory path
  • recursive—Indicates to include files from subrepositories. Enter 1 for yes or 0 for no.
  • file—File to include. Use an asterisk (*) to include all files.
  • searchregexp—Indicates to evaluate file values as regular expressions. Enter 1 for yes or 0 for no.

The attached file is an example configuration file for a C# application named WysiCM.

Note: The Surround SCM CLI requires quotation marks around parameters that contain spaces. For example, ”WysiCM 1.x”.

Branching and labeling

Branching and labeling variables cannot be used in the configuration file. If you want to create a snapshot branch or label after the build is complete, you can create a batch file to execute the commands.

For example, the snap.bat file used to create a snapshot in the example contains the following:

sscm mb "WysiCM 1.x - %CCNetBuildDate%" "WysiCorp Products/WysiCM" -b"WysiCM 1.x" -cc"CC.NET Build" -ssnapshot -yAdministrator: -z127.0.0.1:4900

Running builds

To start a build, double-click the CruiseControl.NET server executable (e.g., C:Program FilesCruiseControl.NETserverccnet.exe). The CruiseControl.NET command console opens and displays the build progress. Close the console when the build finishes. If the console remains open, CruiseControl.NET rebuilds the application every time it detects a change in the source files.


Use the ccnet.log file (e.g., C:/Program Files/CruiseControl.NET/server/ccnet.log) to troubleshoot failed builds.

Article ID: 771  |   Last updated: 23 Dec, 2014
CruiseControl .NET

Attached files
file WysiCMCruiseControlNETConfigExample.txt (1 kb)

Prev   Next
Surround SCM Apache Ant Integration     Surround SCM CruiseControl Integration