Dashboard > CruiseControl.NET Community > ... > Contributions > VSS Driven CCNet
VSS Driven CCNet Log In View a printable version of the current page.

Added by David Strickland , last edited by David Strickland on Mar 07, 2006  (view change)
Labels: 
(None)

Abstract

This is a Console app that is basically an altered version of CCnet.exe. This exe loads a custom DLL that inherits from and overrides some of the Functionality in the ThoughtWorks.CruiseControl.Core.dll. Namely the overridden functionality is all the things pertaining to the loading of a config file.
Instead of loading the Cruise defined config file It loads a custom config file that defines the properties It needs to attach to an instance of VSS. It then uses VSS as the source of the metadata about the project.
I iterate through every Item in VSS looking for SLN files. When an SLN file is found I check to see if it is VS 2003 or VS 2005 If it is 2003 I create a DevEnv task Item for it. If the SLN is VS 2005 I use MSBuild. The server then loads using this data and monitors these solutions as Cruise Control Projects. To add a new Solution simply check it into VSS and restart the exe.
If you'd like to try it Simply Download the file and unzip it. The Binaries are in the debug folder and will require framework 2.0. The latest Source is VS 2005 (the prior version is 2003 it lacks support for 2005 and MSBuild and simply does 2003 Solutions) if you have questions feel free to Email me.

Background

I wanted an easy way to implement CI without constant modifications of a config file for every new "project". In short if it is in VSS I wanted it to Build. The assumption being that all code in VSS is Buildable Code.

Deployment

Xcopy
Unzip the Exe modify the Config and run.

Configure

node Description Type Default
MSBuildPath Path to the version of MSBuildto Use for 2005 and latter builds string C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\MSBuild.exe
VisualStudioBuildPath Enables Visual Studio to Build the Projects from VS 2003 or Prior string C:\Program Files\Microsoft Visual Studio .NET 2003\Common7\IDE\devenv.exe
BuildInterval Interval between checks for modifications to Source Int 600
ModificationDelaySeconds Period of time the Source must be stable in VSS before a build occurs Int 60
WebUrl The Url of the Webserver that is Running the WebDashboard string http://WebServer/ccnet
VssUserName The UserName used for Logon to VSS string "ccnet"
VssPassword The Password used for Logon to VSS string "ccnet"
SourceDirectory The directory in which the current version of the Src will be loaded string "Build"
VssDirectory The Directory containing the VSS Database String "Vss\"
VssIniFile The Name of the INI file most likely this will never change String "ss.ini"
EnableRealeaseBuilds enables the building of release builds along with the default Debug Builds bool false

Bugs and remarques

This is currently little more then a glorified Hack.
If you want to use it you will most likely have to make at least some source changes.

You can send bugs and remarques to the developer at DavidStrickland0@hotmail.com

Powered by a free Atlassian Confluence Open Source Project / Non-profit License granted to ThoughtWorks, Inc.. Evaluate Confluence today.
Powered by Atlassian Confluence 2.7.1, the Enterprise Wiki. Bug/feature request - Atlassian news - Contact administrators