Overview
Source control is used by both CCNET and the nAnt script. The CCNET
project for the build scripts monitors, updated, and lables. The CCNET
project for the product only monitors and lables. The nAnt script is
responsible for updating the source to the latest. The Third Party
directory can be large and take a lengthy amount of time to update.
Sourdough builds are not desireable and the build script should not
enable them. For this reason the Product directory is deleted and
gotten fresh every build.
Dependencies
The Visual Source Safe client needs to be installed. The package SourceModificationReport is a dependency as well.
Install
For install during a CI Factory install simply include the
VisualSourceSafe package name in the property Packages.InstallList of
Arguments.xml. The following properties can be set in the Arguments
file as well:
| Name |
Description |
Default |
| VSSRootShare |
The path to the directory containing VSS databases. |
\\saturn\Source Safe |
| VSS.DBPath |
The path to the ini file for the source safe database (eg |
${VSSRootShare}\${ProjectName}\srcsafe.ini |
| VSS.Username |
The user name of the account to log in as (must have read/write access). |
Build |
| VSS.Password |
The password for the user name listed above. |
password |
For a manual install copy the package directory to the Packages
directory. To the main build file add an includes call to the targets
file. Add a calls to the targets
SourceControl.CleanGetOfThirdPartyDirectory and
SourceControl.CleanGetOfProductDirectory. Don't forget about the calls
to the setup and teardown targets as well.
Targets
SourceControl.CleanGetOfThirdPartyDirectory
This target will delete the the Third Party directory and perform a getlatest to pull the Third Party Directory fresh from the Source Safe repository.
SourceControl.CleanGetOfProductDirectory
This target will delete the the Product directory and perform a
getlatest to pull the Product Directory fresh from the Source Safe
repository.
SourceControl.GetOfThirdPartyDirectory
This target will simply perform a getlatest on the Third Party directory.
SourceControl.GetOfProductDirectory
This target will simply perform a getlatest on the Product directory.
Others
There are other public target that you might be interested, if so read the target file and or inquire in the CI Factory user group.
Reports
None.
Cruise Control Project
Trouble Shooting
The Source Safe commandline client has issues with managing multiple sessions for a single user. This will cause sporadic build exceptions. To prevent this issue simple mantain an open connection by leaving a Source Safe UI Client up and running logged in as the build user.
http://support.microsoft.com/?kbid=837417
|