Configuring CruiseControl.NET for CodePlex.
First things first, you’ll need to install
CruiseControl.NET 1.0 on your build server, the
TFS Client and also the
TFS Source Control Block. (To be honest, you don’t actually need to install the TFS Client, you could just copy the
appropriate assemblies into the CruiseControl server directory).
Then, you have to configure the source control block (along with your tasks and publishers) in your ccnet.config file. Below is an example:-
<cruisecontrol>
<project name="CodeplexExample">
<sourcecontrol type="vsts" autoGetSource="true" applyLabel="false">
<server>https://tfs01.codeplex.com</server>
<username>USERNAME_cp</username>
<password>PASSWORD</password>
<domain>SND</domain>
<project>$/Foobar</project>
<workingDirectory>c:\source\Foobar</workingDirectory>
</sourcecontrol>
<tasks>
<msbuild>
<executable>C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\MSBuild.exe</executable>
<workingDirectory>c:\source\Foobar\FoorbarConsoleApp</workingDirectory>
<projectFile>FoorbarConsoleApp.sln</projectFile>
<buildArgs>/noconsolelogger /p:Configuration=Debug /v:diag</buildArgs>
<targets>Build</targets>
<timeout>15</timeout>
<logger>ThoughtWorks.CruiseControl.MsBuild.XmlLogger,ThoughtWorks.CruiseControl.MsBuild.dll</logger>
</msbuild>
</tasks>
<publishers>
<!-- Insert publishers here -->
</publishers>
</project>
</cruisecontrol>
Remember to substitute “USERNAME” and “PASSWORD” for your appropriate values. Note that your username should be suffixed with _cp. In the example above, I’m using the MSBuild Task – more information on that is available
here.