CI Factory - getting it working with your development tools in D:\Program Files

Before we dive in make sure you read my introduction post here, and that you have followed the screen cast on how to setup CI Factory.  My notes will basically follow that procedure and highlight the differences when you have development tools on your D: drive.

This is an early list, but hopefully it should give people pointers on how to get going quickly;

I'm assuming that your development PC already has Visual Studio 2005, and SubVersion 1.4.3.  In addition I had to install NCover 1.5.5 beta and download the latest CIFactory beta (I used 0.8.0.121) which I unzipped to C:\Tools\CI Factory. I have hosted SubVersion at hosted-projects.com for $15 a month (note: my host area has been changed to xxxxxx on this server for obvious reasons).

Once unzipped, look at C:\Tools\CI Factory;

.\Install Scripts\Arguments.xml (standard edits)

1. Change ProjectName; testproject.
2. Change the port number if you want multiple installations.
3. Edit the email details and developer list e-mails.

4. SVN.URI.Root; https://svn1.hosted-projects.com/xxxxxx
5. SVN.URI.ProjectName, Shared Repo; ProjectName" value="${SVN.URI.Root}/${ProjectName}"

6. SVN.WebRepoURL; https://svn1.hosted-projects.com/xxxxxx/${ProjectName}
7. SVN.Credentials.SafeStorage; true
8. SVN.Username / SVN.Password; <set to known login for hosted-projects.com>

.\Packages (D: drive specific)

1. Install NCover 1.5.5 Beta to program files; D:\Program Files\NCover
2. Edit .\NCover\NCover.Properties.xml; Ncover.ExePath to D:\Program Files\NCover\NCover.Console.exe
3. Edit .\NCover\Install\Properties.xml; Ncover.ExePath to D:\Program Files\NCover\NCover.Console.exe
4. Edit .\MSBuild\Install; %Compile.DevEnv.vsvars32bat% to D:\Program Files\Microsoft Visual Studio 8\VC\vcvarsall.bat
5. Edit .\VS.NETCompile\Install; %Compile.DevEnv.vsvars32bat% to D:\Program Files\Microsoft Visual Studio 8\VC\vcvarsall.bat

.\Power Tools (D: drive specific)

1. OpenSolution.bat; edit C:\Program Files\Microsoft Visual Studio 8\VC\vcvarsall.bat to be on D: drive.
2. Still in OpenSolution.bat; edit C:\Program Files\Subversion\bin to D:\Program Files\Subversion\bin

.\Default\Build (D: drive specific)

1. CCNETServer.bat; edit C:\Program Files\Subversion\bin to D:\Program Files\Subversion\bin
2. OpenSolution.bat; edit C:\Program Files\Microsoft Visual Studio 8\VC\vcvarsall.bat to C:\Program Files\Microsoft Visual Studio 8\VC\vcvarsall.bat.

To prevent NDepends build errors
Copy D:\WINDOWS\FONTS to C:\WINDOWS\FONTS to prevent error in CCNet Build Report erroring on missing Arial font.

>> INSTALLATION

1. Create repository/project in SubVersion, edit the ACL/permissions list to include user permissions RW for the login you configured.
2. Run C:\Tools\CI Factory\run.bat to install CIFactory components (I left them with the default modules).
3. After install Visual Studio fires up; edit c:\Projects\testproject\Current\Build\Main.build.xml
   --> look for warnings about first call/last call and move (as in the CIFactory screen cast)
   --> (SourceModificationReport.PublishOldSource to first item)
   --> (SourceModificationReport.PublishNewSource to last item)
4. Commit, Main.build.xml to SVN.
5. Run CSDIff once to store path to CSDiff in registry (this is used in later scripts).

>> ADD INITIAL PROJECTS (to C:\Projects\testproject\Current\Product\Production)

1. Run, C:\Projects\testproject\Current\Product\OpenSolution.bat; this should load Visual Studio 2005.
2. Copy your existing projects to C:\Projects\testproject\Current\Product\Production (use TortoiseSVN->Export to get a clean tree with no .svn folders)
3. Add your projects in Visual Studio, check it builds.
4. Add your projects in C:\Projects\testproject\Current\Product\Production, to SVN (remove/exclude the bin/obj directories).
5. Commit your additions, and the changes to the main solution (new projects) to SVN.
6. CruiseControl.NET should now pick up changes and compile your new solution.

Miscellaneous notes

The resource usage for an 'empty' CIFactory install with default modules but none of your own projects came in at 14Mb with SVN on hosted-projects.com (peaked at 17Mb during commit).  Important to note if you have usage limits.

The other wrinkle I had was a SubVersion certificate issue; hosted-projects.com are still using a certificate based on the URL  http://www.hosted-projects.com/ which was created prior to their configuring multiple servers.  My repositories are now on svn1.hosted-projects.com, however they still use the old certificate for encrypting content.  This doesn't bother me but it can bother svn.exe, the command line tool, especially when used in an automated mode.

To fix this run SVN.EXE at the command line to your repository;
     svn list https://svn1.hosted-projects.com/xxxxxx/cifactory --username xxxx --password xxxx
You will be asked to accept the certificate, if you choose permanently then the CIFactory and CCNET scripts will work without a problem.

Print | posted on Tuesday, April 3, 2007 5:06 PM

Comments on this post

# Link Listing - April 3, 2007

Requesting Gravatar...
Tree Surgeon has a new home... on CodePlex! [Via: bsimser ] Expression Products Added to MSDN [Via:...
Left by Christopher Steen on Apr 03, 2007 11:08 PM

# re: CI Factory - getting it working with your development tools in D:\Program Files

Requesting Gravatar...
Mate, check out NCoverCop. It fails the build if the coverage drops.. it also tells you what code has become uncovered!

http://sourceforge.net/projects/ncovercop/


Cheers
Nigel
Left by Nigel Throne on Nov 28, 2007 5:03 PM

Your comment:

 (will show your gravatar)