HomeThird Party Plug-InsCruise Control.NETGetting Set Up

1.3. Getting Set Up

Getting the DLL 
  1. To use the CruiseControl.net PureCM plug-in you will need to install the PureCM Client (2008-3c or later) onto the same machine as your CruiseControl.net server.
  2. You then need to get the latest CruiseControl.net plug-in DLL (ccnet.PureCMSvr.plugin.dll).
  3. This DLL then needs to be placed into the 'CruiseControl.net/server' directory (This is typically 'C:\Program Files\CruiseControl.NET\server' or where ever you chose while installing Cruise Control).
  4. You need to copy the PureCM.Net Client DLL (C:\Program Files\PureCM\Client\PureCM.Client.dll by default) into the 'CruiseControl.net/server' directory.
Creating a PureCM user (optional)

You will need to connect to PureCM using a PureCM user with 'Password' enabled. This can be done using any of your current PureCM users but it can be useful to create a new user for running CruiseControl.NET. This gives you better visibility on what is using your PureCM Licences and also will give you better control over security. As the cruise control user will never need to submit to the server you can limit the permissions of that user to only have read access for the streams you need. At a minimum you can add it to the 'Developer' group to ensure read access but no access to administrator functions.

Setting up the 'ccnet.config' file

For each stream you want CruiseControl.net to manage you will need to set up a new project in the 'ccnet.config'. To get this to work with PureCM you will need to add a 'source control' block as shown below.

<sourcecontrol type="purecm">

    <server>localhost</server>

    <port>2010</port>

    <
user>CruiseControl</user>

    <password>secret</password>

    <
repository>Example</repository>

    <stream>Development\Main</stream>

    <
workspace>C:\Program Files\CruiseControl.NET\server\workspaces\Example\Main</workspace>

</sourcecontrol>

The <server> element stores the name of the PureCM server you wish to connect to.

The <port> element stores the port you wish to use on the PureCM server.

The <user> element stores the user name of the PureCM user you wish to connect with.

The <password> element stores the password of the PureCM user you are connecting with.

The <repository> element stores the name of the repository you are using.

The <stream> element stores the path to the stream you are using.

The <workspace> element will need to point at a workspace that will be created purely for CruiseControl.net. This location needs to be somewhere where the windows user running CC.net(usually 'Local System') has permission to write files.

You can download an example 'ccnet.config' file from the bottom of this page which has one project that builds a single Visual Studio solution in both release and debug modes.

No need to create a workspace!

In previous versions of the CruiseControl plugin you needed to create a workspace before running the service. Now all workspaces will be created for you meaning all you need to do is set up the config file and start the service!

Running CruiseControl.Net

You can run CruiseControl.Net in one of two ways, each with their advantages and disadvantages. As PureCM relies on a  'Connections Database' to handle server connections you cannot usually switch between the two easily. Running the CruiseControl.Net service will use the windows user 'Local System' which will register any workspaces created to it's Database. Running on the console will generally run as the current logged in user and register its workspaces to it's database. 

Running CruiseControl.Net from the console.

To do this in windows explorer you need to navigate to the Cruise Control server directory (typically 'C:\Program Files\CruiseControl.NET\server') and run the ccnet.exe executable. To run this from a command prompt you need to change the directory to the Cruise Control server directory (cd "C:\Program Files\CruiseControl.NET\server") and run the ccnet executable (ccnet.exe).

note: Running the command "C:\Program Files\CruiseControl.NET\server\ccnet.exe" from another location will not work as it looks for files in the location the command was run from.

Downloads

This page was: Helpful | Not Helpful