<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>Continuous Integration</title>
        <link>http://geekswithblogs.net/twickers/category/6467.aspx</link>
        <description>Continuous Integration</description>
        <language>en-GB</language>
        <copyright>Liam Westley</copyright>
        <managingEditor>liam.westley@tigernews.co.uk</managingEditor>
        <generator>Subtext Version 0.0.0.0</generator>
        <item>
            <title>NxtGenUG Oxford - CI Factory talk</title>
            <link>http://geekswithblogs.net/twickers/archive/2008/08/07/124284.aspx</link>
            <description>&lt;p&gt;Thanks to all who attended the NxtGenUG Oxford meeting last night, always good to see a different user group in operation.  Apologies for not achieving the promised 20 minutes to create a CI server from a completely clean Win2003 server installation - but 26 minutes isn't too shoddy.&lt;/p&gt;
&lt;p&gt;As promised you can download the slidedeck for my CI Factory talk from &lt;a href="http://www.tigernews.co.uk/presentations/NxtGenUG-Oxford-06Aug08-CIFactory.zip"&gt;&lt;strong&gt;here&lt;/strong&gt;&lt;/a&gt;.  Make sure you view it with the speaker notes as they give all the background information.  On the 'Demonstration' slide the notes include the exact steps and installation list for creating that CI server in 26 minutes.&lt;/p&gt;
&lt;p&gt;And finally, thanks to Barry Dorrans for ferrying me to and from Didcot Parkway station (and providing a Hot Wax chilli seedling) as well as Research Machines for providing the factilities for the evening.&lt;/p&gt;
&lt;p&gt;Liam&lt;/p&gt;
&lt;p&gt;P.S. In the demonstration I used a full .NET 3.5 redistributable package to install the .NET SDK without requiring an internet connection.  Thanks to the articles on &lt;font face="Arial"&gt;&lt;a href="http://blogs.msdn.com/astebner/archive/2007/12/03/6646794.aspx"&gt;Aaron Stebner's WebLog&lt;/a&gt; and &lt;a href="http://blogs.msdn.com/bretgrinslade/archive/2007/11/20/net-framework-3-5-install-layout.aspx"&gt;Bret Grinslade&lt;/a&gt; blog I idenitified the correct package to download.  The full package also arrived this week on MSDN CD 2426.29 (grey).&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=124284"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=124284" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/twickers/aggbug/124284.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Liam Westley</dc:creator>
            <guid>http://geekswithblogs.net/twickers/archive/2008/08/07/124284.aspx</guid>
            <pubDate>Thu, 07 Aug 2008 08:02:50 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/twickers/comments/124284.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/twickers/archive/2008/08/07/124284.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/twickers/comments/commentRss/124284.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/twickers/services/trackbacks/124284.aspx</trackback:ping>
        </item>
        <item>
            <title>London .NET User Group - CI Factory talk</title>
            <link>http://geekswithblogs.net/twickers/archive/2008/07/25/124012.aspx</link>
            <description>&lt;p&gt;Thanks to all who attended the London .NET User Group meeting last night, a great turnout and lovely weather for slurping beers in the streets of Clerkenwell afterwards.&lt;/p&gt;
&lt;p&gt;As promised you can download the slidedesk for my CI Factory grok talk from &lt;a href="http://www.tigernews.co.uk/presentations/LDNUG-24Jul08-CIFactory.zip"&gt;&lt;strong&gt;here&lt;/strong&gt;&lt;/a&gt;, and if yoiu want an extended version I'm presenting at NxtGenUG in Oxford on Wednesday 6th August.  &lt;/p&gt;
&lt;p&gt;In the one hour or so I'll hopefully have time to actually create a SubVersion repository, edit the CI Factory setup file to create a new build server and demonstrate it automatically building an app checked in from Visual Studio 2008.&lt;/p&gt;
&lt;p&gt;And finallyl, thanks to Ian Cooper and &lt;a href="http://www.skillsmatter.com"&gt;Skillsmatter.com&lt;/a&gt; for providing the factilities for yesterday evening.&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=124012"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=124012" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/twickers/aggbug/124012.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Liam Westley</dc:creator>
            <guid>http://geekswithblogs.net/twickers/archive/2008/07/25/124012.aspx</guid>
            <pubDate>Fri, 25 Jul 2008 08:29:24 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/twickers/comments/124012.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/twickers/archive/2008/07/25/124012.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/twickers/comments/commentRss/124012.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/twickers/services/trackbacks/124012.aspx</trackback:ping>
        </item>
        <item>
            <title>DDD6 - 24th November - You have until 19th October to get your vote in</title>
            <link>http://geekswithblogs.net/twickers/archive/2007/10/14/116044.aspx</link>
            <description>Voting now open on DDD6 here, &lt;a href="http://www.developerday.co.uk/ddd/votesessions.asp"&gt;http://www.developerday.co.uk/ddd/votesessions.asp&lt;/a&gt;, so get your 10 votes in to make sure it's the conference you want it to be.&lt;br /&gt;
&lt;br /&gt;
Those who are eagle eyed will note that my bribes to the organisers were obviously well received as my yap about CIFactory has appeared at the top of the voting table .....&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=116044"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=116044" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/twickers/aggbug/116044.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Liam Westley</dc:creator>
            <guid>http://geekswithblogs.net/twickers/archive/2007/10/14/116044.aspx</guid>
            <pubDate>Sun, 14 Oct 2007 22:04:14 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/twickers/comments/116044.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/twickers/archive/2007/10/14/116044.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/twickers/comments/commentRss/116044.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/twickers/services/trackbacks/116044.aspx</trackback:ping>
        </item>
        <item>
            <title>Grok talk at Fest07 - 23rd May 2007</title>
            <link>http://geekswithblogs.net/twickers/archive/2007/05/20/112631.aspx</link>
            <description>I will be presenting a grok talk at &lt;a href="http://www.nxtgenug.net/fest07"&gt;Fest07&lt;/a&gt; at Microsoft campus in Reading; 'Continuous Integration for newbies made easy - A quick guide to CI Factory'.  &lt;br /&gt;
&lt;br /&gt;
Those who have read my posts on CI Factory installation will be familiar with the subject, but feel free to come along and say hello if your attending. I'll have my build server with me - an external notebook drive with VirtualPC image and I'll be giving a brief overview of how CI Factory got my build server up and running in a couple of days, with a comprehensive set of code analysis tools.&lt;br /&gt;
&lt;br /&gt;
The Fest07 conference is organised by the NxtGenUG (Next Generation User Group).&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-weight: bold;"&gt;UPDATE:&lt;/span&gt; Presentation now available &lt;a href="http://www.tigernews.co.uk/presentations/Fest07-CIFactory.zip"&gt;here&lt;/a&gt; (PowerPoint 2003 and Acrobat PDF versions).
&lt;p&gt; Technorati tags: &lt;a href="http://technorati.com/tags/ci%20factory" rel="tag"&gt;ci factory&lt;/a&gt;, &lt;a href="http://technorati.com/tags/continuous%20integration" rel="tag"&gt;Continuous Integration&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=112631"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=112631" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/twickers/aggbug/112631.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Liam Westley</dc:creator>
            <guid>http://geekswithblogs.net/twickers/archive/2007/05/20/112631.aspx</guid>
            <pubDate>Sun, 20 May 2007 21:50:06 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/twickers/comments/112631.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/twickers/archive/2007/05/20/112631.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/twickers/comments/commentRss/112631.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/twickers/services/trackbacks/112631.aspx</trackback:ping>
        </item>
        <item>
            <title>CI Factory - my final setup</title>
            <link>http://geekswithblogs.net/twickers/archive/2007/04/23/111924.aspx</link>
            <description>Here's the culmination of my research into CI Factory and how I'm not using it to develop my open source RapidDB libraries.  This is a fairly personal setup, as it only has a single developer (me), two development machines (currently an office desktop PC and a roaming laptop) and a build server which is not publicly accessible via the Internet.  An MSDN and Microsoft Partner Action Pack subscription are busy covering my software license requirements.&lt;br /&gt;
&lt;br /&gt;
&lt;em&gt;&lt;font size="2"&gt;&lt;strong&gt;Summary:&lt;/strong&gt;&lt;/font&gt;&lt;/em&gt;&lt;br /&gt;
&lt;ul&gt;
    &lt;li&gt;Development PC 1 : Desktop, XP Pro SP2, Program Files on D: drive, C:\Projects for CI Factory tree. &lt;/li&gt;
    &lt;li&gt;Development PC 2 : Laptop, XP Pro SP2, Program Files on C: drive, C:\Projects for CI Factory tree. &lt;/li&gt;
    &lt;li&gt;Build Server : Virtual PC 2004 image, XP Pro SP2, C:\Projects for CI Factory tree. &lt;/li&gt;
    &lt;li&gt;Source code repository : &lt;a href="http://www.hosted-projects.com"&gt;www.hosted-projects.com&lt;/a&gt;. &lt;/li&gt;
&lt;/ul&gt;
By using Microsoft Virtual PC 2004 (or VPC), which is a &lt;span style="font-style: italic;"&gt;free&lt;/span&gt; download now, I have the VPC disk image (6.3Gb currently) which is on a portable laptop hard drive, running over USB 2.0.  When in the office this connects to my desktop, when out of the office this connects to my laptop.  That way, I always have the build server available, where ever I am working.  And when my build server finally settles down and I require external access, I can easily install it under Virtual Server on my main Windows Server 2003 box and setup suitable port forwarding on my broadband connection.&lt;br /&gt;
&lt;br /&gt;
Both development PCs and the build server have Microsoft SQL Server 2000 Developer and Microsoft SQL Server 2005 Developer installed.  To aid with unit testing, I have created aliases to the servers on all machines as &lt;span style="font-style: italic;"&gt;NUnit-Sql2000&lt;/span&gt; and &lt;span style="font-style: italic;"&gt;NUnit-Sql2005&lt;/span&gt;.  This ensures that whatever machine name and instance name I might have used when installing SQL Server, unit tests can use the same alias names across all machines (and please don't flame me that unit tests should not really include database access, I have my reasons).&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-weight: bold;"&gt;&lt;font size="2"&gt;Build server o/s and tools installation&lt;/font&gt;&lt;/span&gt;&lt;br /&gt;
&lt;ul&gt;
    &lt;li&gt;Windows XP Professional SP2 &lt;/li&gt;
    &lt;li&gt;.NET framework 1.1, .NET framework 2.0, .NET framework 3.0 &lt;/li&gt;
    &lt;li&gt;Microsoft SQL Server 2000 Developer Edition, Microsoft SQL Server 2005 Developer Edition &lt;/li&gt;
    &lt;li&gt;NCover v1.5.5 (beta) &lt;/li&gt;
    &lt;li&gt;SubVersion 1.4.3, TortoiseSVN 1.4.3&lt;/li&gt;
    &lt;li&gt;&lt;span style="font-weight: bold;"&gt;.NET Framework 1.1 SDK, .NET Framework 2.0 SDK&lt;/span&gt; &lt;span style="font-weight: bold; font-style: italic;"&gt;[blog update, 6 June 2007]&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;&lt;font size="3"&gt;CI Factory installation on VPC build server image&lt;/font&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;font face="Arial"&gt;
&lt;p&gt;&lt;strong&gt;&lt;font size="2"&gt;.\Install Scripts\Arguments.xml;&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
    &lt;li&gt;Change ProjectName; &lt;strong&gt;&lt;em&gt;testproject&lt;/em&gt;&lt;/strong&gt;. &lt;/li&gt;
    &lt;li&gt;Change the portname number (&lt;em&gt;really important for multiple installations!)&lt;/em&gt; &lt;/li&gt;
    &lt;li&gt;Email details; VPC-Build, &lt;a href="mailto:vpc.build@yourdomain.co.uk"&gt;vpc.build@yourdomain.co.uk&lt;/a&gt; &lt;/li&gt;
    &lt;li&gt;Developer lists; &lt;a href="mailto:your.name@yourdomain.co.uk"&gt;your.name@yourdomain.co.uk&lt;/a&gt; &lt;/li&gt;
    &lt;li&gt;SVN URI Root; &lt;a href="https://svn1.hosted-projects.com/youraccountname"&gt;https://svn1.hosted-projects.com/youraccountname&lt;/a&gt; &lt;/li&gt;
    &lt;li&gt;SVN URI ProjectName, Shared Repo; ProjectName" value="${SVN.URI.Root}/${ProjectName}" &lt;/li&gt;
    &lt;li&gt;SVN.WebRepoURL; &lt;a href="https://svn1.hosted-projects.com/youraccountname/${ProjectName"&gt;https://svn1.hosted-projects.com/youraccountname/${ProjectName&lt;/a&gt;} &lt;/li&gt;
    &lt;li&gt;SVN.Credentials.SafeStorage; true &lt;/li&gt;
    &lt;li&gt;SVN.Username / SVN.Password; &amp;lt;set to your username/password&amp;gt; &lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;&lt;font size="2"&gt;\Packages;&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
    &lt;li&gt;Install NCover 1.5.5 Beta to prog files; &lt;em&gt;C:\Program Files\NCover&lt;/em&gt; &lt;/li&gt;
    &lt;li&gt;Install SubVersion 1.4.3 to prog files; &lt;em&gt;C:\Program Files\Subversion&lt;/em&gt; &lt;/li&gt;
    &lt;li&gt;(optional) Install TortoiseSVN 1.4.3 to prog files; &lt;em&gt;C:\Program Files\TortoiseSVN&lt;/em&gt; &lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;&lt;font size="2"&gt;CI Factory Installation&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
    &lt;li&gt;Create repository/project for &lt;strong&gt;testproject&lt;/strong&gt; in SubVersion, edit ACL list to include user permissions RW. &lt;/li&gt;
    &lt;li&gt;Run &lt;em&gt;C:\Tools\CI Factory\run.bat&lt;/em&gt; to install. &lt;/li&gt;
    &lt;li&gt;After install Visual Studio will not start as it doesn't exist on the build server; instead use&lt;br /&gt;
       Notepad to edit &lt;em&gt;c:\Projects\&lt;strong&gt;testproject&lt;/strong&gt;\Current\Build\Main.build.xml&lt;/em&gt;&lt;br /&gt;
       --&amp;gt; look for warnings about first call/last call and move (as in Jay Flower screencast)&lt;br /&gt;
       --&amp;gt; (SourceModificationReport.PublishOldSource to first item)&lt;br /&gt;
       --&amp;gt; (SourceModificationReport.PublishNewSource to last item) &lt;/li&gt;
    &lt;li&gt;Commit, Main.build.xml to SubVersion. &lt;/li&gt;
    &lt;li&gt;Run &lt;em&gt;C:\Projects\testproject\Current\Build\Packages\CSDiff\bin\CSDiff.exe&lt;/em&gt; once to store path to CSDiff in registry (used in later scripts). &lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;&lt;font face="Arial"&gt;Post installation configuration; &lt;em&gt;c&lt;/em&gt;&lt;/font&gt;&lt;font face="Arial"&gt;&lt;em&gt;:\Projects\testproject\Current\Build\ccnetproject.xml&lt;/em&gt;&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
    &lt;li&gt;&lt;font face="Arial"&gt;Locate &lt;em&gt;&amp;lt;!ENTITY email&lt;/em&gt; line (at top of file)&lt;/font&gt; &lt;/li&gt;
    &lt;li&gt;&lt;font face="Arial"&gt;Edit the &lt;strong&gt;from&lt;/strong&gt; attribute to a suitable 'from' address&lt;/font&gt; &lt;/li&gt;
    &lt;li&gt;&lt;font face="Arial"&gt;Edit the &lt;strong&gt;mailhost&lt;/strong&gt; attribute to by your SMTP server&lt;/font&gt; &lt;/li&gt;
    &lt;li&gt;&lt;font face="Arial"&gt;For authenticated logins add the &lt;strong&gt;mailhostUsername&lt;/strong&gt; and &lt;strong&gt;mailhostPassword&lt;/strong&gt; attributes and enter the login and password used to send e-mails.&lt;/font&gt; &lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;font face="Arial"&gt;Afterwards, it should look something like;&lt;br /&gt;
&lt;em&gt;  &amp;lt;!ENTITY email '&amp;lt;email from="testproject.build@yourdomain.co.uk" mailhost="mail.yourdomain.co.uk" mailhostUsername="testproject.build@yourdomain.co.uk" mailhostPassword="testprojectbuild" includeDetails="true"&amp;gt;&lt;/em&gt;&lt;br /&gt;
&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;&lt;font size="3"&gt;Developer PC 2 - C:\Program Files (99% of users)&lt;/font&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;You can just check out the tree from SubVersion to &lt;em&gt;C:\Projects\testproject&lt;/em&gt; and run &lt;em&gt;C:\Projects\testproject\Current\Build\OpenSolution.bat&lt;/em&gt; to load the project into Visual Studio 2005.  If you want to run unit tests you will need to have installed the appropriate tools (NUnit for myself, or feel free to use MbUnit which comes with CI Factory).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;&lt;font size="3"&gt;Developer PC 1 - D:\Program Files&lt;/font&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Check out the tree from SubVersion to &lt;em&gt;C:\Projects\testproject.&lt;/em&gt;&lt;/p&gt;
&lt;ol&gt;
    &lt;li&gt;Copy &lt;em&gt;C:\Projects\testproject\Current\Build\OpenSolution.bat&lt;/em&gt; to &lt;em&gt;C:\Projects\testproject\Current\Build\OpenSolutionVSOnD.bat&lt;/em&gt; &lt;/li&gt;
    &lt;li&gt;Edit &lt;em&gt;OpenSolutionVSOnD.bat&lt;/em&gt; in Notepad, and edit the path &lt;em&gt;C:\Program Files\Microsoft Visual Studio 8\VC\vcvarsall.bat&lt;/em&gt; to be on the D: drive. &lt;/li&gt;
    &lt;li&gt;Repeat with &lt;em&gt;C:\Projects\testproject\Current\Product\OpenSolution.bat.&lt;/em&gt; &lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;&lt;font size="3"&gt;Adding your projects&lt;/font&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Now you continue with the normal CI Factory process of adding your existing projects into &lt;font face="Arial"&gt;&lt;em&gt;C:\projects\testproject\Current\Product\Production&lt;/em&gt; as detailed in the Jay Flowers/CI Factory screen cast.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;font size="3"&gt;&lt;em&gt;Conclusion&lt;/em&gt;&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;For those thinking that all this sounds like a whole heap of work to 'reproduce' your existing setup, this is really is not the case.  I cannot tell you the relief to have CruiseControl.NET setup for me automatically and have it branching versions seamlessly in the background.  It also encourages you down the unit testing path which is not a bad thing at all (although I may be breaking it with database reliant testing).&lt;/p&gt;
&lt;p&gt;I have also been impressed by the range of default packages installed by CI Factory. This provides an immediate wake up call to how you might improve the quality of your software by using automated tools, instead of just hoping you have written reliable code that you have tested properly.  I have yet to use all the default packages properly, but then, even programmers I know who have in depth experience of Test Driven Development (TDD) and CI have found new tools that CI Factory includes, such as Simian.&lt;/p&gt;
&lt;p&gt; Technorati tags: &lt;a rel="tag" href="http://technorati.com/tags/ci%20factory"&gt;ci factory&lt;/a&gt;, &lt;a rel="tag" href="http://technorati.com/tags/continuous%20integration"&gt;Continuous Integration&lt;/a&gt;&lt;/p&gt;
&lt;span style="font-style: italic;"&gt;&lt;span style="font-weight: bold;"&gt;Update log&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;strong&gt;&lt;font size="3"&gt;&lt;em /&gt;&lt;/font&gt;&lt;/strong&gt;
&lt;p&gt;6 June 2007 : Updated to include installation of .NET Framework SDK to prevent &lt;span style="font-style: italic;"&gt;Unable to load DLL 'svn_client-1'&lt;/span&gt; error in build log (as in CI Factory FAQ, &lt;a href="http://www.cifactory.org/joomla/index.php?option=com_content&amp;amp;task=view&amp;amp;id=12&amp;amp;Itemid=32"&gt;here&lt;/a&gt;).  &lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=111924"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=111924" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/twickers/aggbug/111924.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Liam Westley</dc:creator>
            <guid>http://geekswithblogs.net/twickers/archive/2007/04/23/111924.aspx</guid>
            <pubDate>Mon, 23 Apr 2007 21:08:39 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/twickers/comments/111924.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/twickers/archive/2007/04/23/111924.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/twickers/comments/commentRss/111924.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/twickers/services/trackbacks/111924.aspx</trackback:ping>
        </item>
        <item>
            <title>CI Factory with NUnit (rather than MbUnit)</title>
            <link>http://geekswithblogs.net/twickers/archive/2007/04/16/111693.aspx</link>
            <description>&lt;p&gt;I decided to add some unit tests into my first CI Factory project.  First I used a reference to &lt;em&gt;MbUnit.Framework.dll&lt;/em&gt; in my test project, this is the unit test framework which ships with CI Factory, and all worked fine.  &lt;/p&gt;
&lt;p&gt;No disrespect to MbUnit, but I decided I really wanted to use NUnit so I can utilise the larger amount of documentation and community knowledge that exists for NUnit (even though it might not be as flexible as MbUnit).  So I added NUnit 2.2.8 (.NET 2.0 version) underneath my CI Factory &lt;em&gt;Third Party&lt;/em&gt; folder and flipped the test project over to use NUnit with a reference to &lt;em&gt;NUnit.Framework.dll &lt;/em&gt;instead of &lt;em&gt;MbUnit.Framework.dll&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Cruise Control blew up with an error in the NAnt Output log;&lt;/p&gt;
&lt;blockquote style="margin-right: 0px;" dir="ltr"&gt;
&lt;p&gt;&lt;font face="Courier New"&gt;External Program Failed: C:\Program Files\NCover\NCover.Console.exe (return code was 1)&lt;/font&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Oops!!  I know the issue is within the file &lt;em&gt;Build/Packages/NCover/NCover.Target.xml&lt;/em&gt;, probably leading to&lt;strong&gt; &lt;/strong&gt;&lt;em&gt;Build/Packages/&lt;font face="Arial"&gt;DotNetUnitTest&lt;/font&gt;/&lt;/em&gt;&lt;font face="Arial"&gt;&lt;em&gt;UnitTest.Target.xml&lt;/em&gt; but I couldn't find anything obvious to edit.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;In the end the &lt;strong&gt;Solution&lt;/strong&gt; was horribly simple and I let out a loud &lt;strong&gt;DOH!&lt;/strong&gt;.  I just left the reference to &lt;em&gt;MbUnit.Framework.dll &lt;/em&gt;in my test project, in addition to the &lt;em&gt;NUnit.Framework.dll&lt;/em&gt; reference which actually performs the unit tests.&lt;/p&gt;
&lt;p&gt;I can now run the NUnit GUI to run my tests on my development machine.  If they pass, I check in, Cruise Control builds the project and happily runs my unit tests in automated mode.&lt;br /&gt;
&lt;/p&gt;
Happy, happy, joy, joy &lt;img src="/Providers/BlogEntryEditor/FCKeditor/editor/images/smiley/msn/regular_smile.gif" alt="" /&gt;&lt;br /&gt;
&lt;br /&gt;
P.S. I did muse that it could be the lack of an &lt;span style="font-style: italic;"&gt;NUnit.Tasks.dll&lt;/span&gt; for NAnt to hook into which might be the issue, but I'm no expert so this is a bit of a wild stab in the dark. &lt;br /&gt;&lt;br /&gt;
Technorati tags: &lt;a rel="tag" href="http://technorati.com/tags/ci%20factory"&gt;ci factory&lt;/a&gt;, &lt;a rel="tag" href="http://technorati.com/tags/continuous%20integration"&gt;Continuous Integration&lt;/a&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=111693"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=111693" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/twickers/aggbug/111693.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Liam Westley</dc:creator>
            <guid>http://geekswithblogs.net/twickers/archive/2007/04/16/111693.aspx</guid>
            <pubDate>Sun, 15 Apr 2007 23:24:23 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/twickers/comments/111693.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/twickers/archive/2007/04/16/111693.aspx#feedback</comments>
            <slash:comments>3</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/twickers/comments/commentRss/111693.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/twickers/services/trackbacks/111693.aspx</trackback:ping>
        </item>
        <item>
            <title>SubVersion - make sure SVN.EXE and Tortoise are kept in sync when using automated tools</title>
            <link>http://geekswithblogs.net/twickers/archive/2007/04/10/111301.aspx</link>
            <description>&lt;P&gt;&lt;FONT face=Arial&gt;A minor glitch while getting CI Factory up and running.&amp;nbsp; &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial&gt;I discovered how important it is to make sure that you keep your version of SVN.EXE (command line SubVersion) in step with that of TortoiseSVN. As TortoiseSVN informs you of upgrades, I'd happily updated it to v1.4.x automatically, leaving my SVN.EXE at 1.3.x.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial&gt;The gotcha was that the&amp;nbsp;installation of CI Factory was fine - it used the older v1.3.x client to create the project tree.&amp;nbsp; After I had used TortoiseSVN to add some projects, it was only when I forced a rebuild by CruiseControl.NET that I saw errors in the CC.NET interface detailing the SubVersion mismatch. &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial&gt;The issue was that you cannot use older SubVersion clients to update a local tree created by a different SubVersion client.&amp;nbsp; Quite a reasonable requirement and a terrible &lt;STRONG&gt;'DOH !'&lt;/STRONG&gt; moment on my part.&amp;nbsp; A quick update of my command line SubVersion tools and all was well in CC.NET.&lt;/FONT&gt;&lt;/P&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=111301"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=111301" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/twickers/aggbug/111301.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Liam Westley</dc:creator>
            <guid>http://geekswithblogs.net/twickers/archive/2007/04/10/111301.aspx</guid>
            <pubDate>Tue, 10 Apr 2007 13:29:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/twickers/comments/111301.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/twickers/archive/2007/04/10/111301.aspx#feedback</comments>
            <slash:comments>6</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/twickers/comments/commentRss/111301.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/twickers/services/trackbacks/111301.aspx</trackback:ping>
        </item>
        <item>
            <title>CI Factory - getting it working with your development tools in D:\Program Files </title>
            <link>http://geekswithblogs.net/twickers/archive/2007/04/03/110693.aspx</link>
            <description>&lt;P&gt;&lt;FONT face=Arial&gt;Before we dive in make sure you read my introduction post &lt;A href="http://geekswithblogs.net/twickers/archive/2007/04/03/110691.aspx"&gt;here&lt;/A&gt;, and that you have followed the screen cast on how to setup CI Factory.&amp;nbsp; My notes will basically follow that procedure and highlight the differences when you have development tools on your D: drive.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial&gt;This is an early list, but hopefully it should give people pointers on how to get going quickly;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial&gt;I'm assuming that your development PC already has Visual Studio 2005, and &lt;A href="http://subversion.tigris.org/"&gt;SubVersion 1.4.3&lt;/A&gt;.&amp;nbsp; In addition I had to install &lt;A href="http://ncover.org/site/"&gt;NCover 1.5.5 beta&lt;/A&gt;&amp;nbsp;and download the latest &lt;A href="http://jay.flowers.googlepages.com/cifactory"&gt;CIFactory&lt;/A&gt; beta (I used 0.8.0.121) which I unzipped to &lt;FONT face="Courier New"&gt;&lt;STRONG&gt;C:\Tools\CI Factory&lt;/STRONG&gt;&lt;/FONT&gt;. I have hosted SubVersion at &lt;A href="https://www.hosted-projects.com/"&gt;hosted-projects.com&lt;/A&gt; for $15 a month (note: my host area has been changed to xxxxxx on this server for obvious reasons).&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial&gt;Once unzipped, look at C:\Tools\CI Factory;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial&gt;&lt;STRONG&gt;.\Install Scripts\Arguments.xml &lt;/STRONG&gt;(standard edits)&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial&gt;1. Change ProjectName; &lt;EM&gt;&lt;STRONG&gt;testproject&lt;/STRONG&gt;&lt;/EM&gt;.&lt;BR&gt;2. Change the port number if you want multiple installations.&lt;BR&gt;3. Edit the email details and developer list e-mails.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial&gt;4. SVN.URI.Root; &lt;A href="https://svn1.hosted-projects.com/xxxxxx"&gt;https://svn1.hosted-projects.com/xxxxxx&lt;/A&gt;&lt;BR&gt;5. SVN.URI.ProjectName, Shared Repo; ProjectName" value="${SVN.URI.Root}/${ProjectName}"&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial&gt;6. SVN.WebRepoURL; &lt;A href="https://svn1.hosted-projects.com/xxxxxx/${ProjectName"&gt;https://svn1.hosted-projects.com/xxxxxx/${ProjectName&lt;/A&gt;}&lt;BR&gt;7. SVN.Credentials.SafeStorage; true&lt;BR&gt;8. SVN.Username / SVN.Password; &amp;lt;set to known login for hosted-projects.com&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial&gt;&lt;STRONG&gt;.\Packages&lt;/STRONG&gt; (D: drive specific)&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial&gt;1. Install NCover 1.5.5 Beta to program files; &lt;EM&gt;D:\Program Files\NCover&lt;/EM&gt;&lt;BR&gt;2. Edit .\NCover\NCover.Properties.xml; Ncover.ExePath to &lt;EM&gt;D:\Program Files\NCover\NCover.Console.exe&lt;BR&gt;&lt;/EM&gt;3. Edit .\NCover\Install\Properties.xml; Ncover.ExePath to&lt;EM&gt; D:\Program Files\NCover\NCover.Console.exe&lt;BR&gt;&lt;/EM&gt;4. Edit .\MSBuild\Install; %Compile.DevEnv.vsvars32bat% to&lt;EM&gt; D:\Program Files\Microsoft Visual Studio 8\VC\vcvarsall.bat&lt;BR&gt;&lt;/EM&gt;5. Edit .\VS.NETCompile\Install; %Compile.DevEnv.vsvars32bat% to&lt;EM&gt; D:\Program Files\Microsoft Visual Studio 8\VC\vcvarsall.bat&lt;/EM&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial&gt;&lt;STRONG&gt;.\Power Tools&lt;/STRONG&gt; (D: drive specific)&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial&gt;1. OpenSolution.bat; edit &lt;EM&gt;C:\Program Files\Microsoft Visual Studio 8\VC\vcvarsall.bat &lt;/EM&gt;to be on D: drive.&lt;BR&gt;2.&amp;nbsp;Still in&amp;nbsp;OpenSolution.bat; edit C:\Program Files\Subversion\bin to &lt;EM&gt;D:\Program Files\Subversion\bin&lt;/EM&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial&gt;&lt;STRONG&gt;.\Default\Build &lt;/STRONG&gt;(D: drive specific)&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial&gt;1. CCNETServer.bat; edit C:\Program Files\Subversion\bin to &lt;EM&gt;D:\Program Files\Subversion\bin&lt;BR&gt;&lt;/EM&gt;2. OpenSolution.bat; edit C:\Program Files\Microsoft Visual Studio 8\VC\vcvarsall.bat to &lt;EM&gt;C:\Program Files\Microsoft Visual Studio 8\VC\vcvarsall.bat&lt;/EM&gt;.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial&gt;&lt;STRONG&gt;To prevent NDepends build errors&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT face=Arial&gt;&lt;BR&gt;Copy D:\WINDOWS\FONTS to C:\WINDOWS\FONTS to prevent error in CCNet Build Report erroring on missing Arial font.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial&gt;&lt;STRONG&gt;&amp;gt;&amp;gt; INSTALLATION&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial&gt;1. Create repository/project in SubVersion, edit the ACL/permissions list to include user permissions RW for the login you configured.&lt;BR&gt;2. Run C:\Tools\CI Factory\run.bat to install CIFactory components (I left them with the default modules).&lt;BR&gt;3. After install Visual Studio fires up; edit c:\Projects\&lt;STRONG&gt;&lt;EM&gt;testproject&lt;/EM&gt;&lt;/STRONG&gt;\Current\Build\Main.build.xml&lt;BR&gt;&amp;nbsp;&amp;nbsp; --&amp;gt; look for warnings about first call/last call and move (as in the CIFactory screen cast)&lt;BR&gt;&amp;nbsp;&amp;nbsp; --&amp;gt; (SourceModificationReport.PublishOldSource to first item)&lt;BR&gt;&amp;nbsp;&amp;nbsp; --&amp;gt; (SourceModificationReport.PublishNewSource to last item)&lt;BR&gt;4. Commit, Main.build.xml to SVN.&lt;BR&gt;5. Run CSDIff once to store path to CSDiff in registry (this is used in later scripts).&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial&gt;&lt;STRONG&gt;&amp;gt;&amp;gt; ADD INITIAL PROJECTS &lt;/STRONG&gt;(to C:\Projects\&lt;STRONG&gt;&lt;EM&gt;testproject&lt;/EM&gt;&lt;/STRONG&gt;\Current\Product\Production)&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial&gt;1. Run, C:\Projects\&lt;STRONG&gt;&lt;EM&gt;testproject&lt;/EM&gt;&lt;/STRONG&gt;\Current\Product\OpenSolution.bat; this should load Visual Studio 2005.&lt;BR&gt;2. Copy your existing projects to C:\Projects\&lt;STRONG&gt;&lt;EM&gt;testproject&lt;/EM&gt;&lt;/STRONG&gt;\Current\Product\Production (use TortoiseSVN-&amp;gt;Export to get a clean tree with no .svn folders)&lt;BR&gt;3. Add your projects in Visual Studio, check it builds.&lt;BR&gt;4. Add your projects in C:\Projects\&lt;STRONG&gt;&lt;EM&gt;testproject&lt;/EM&gt;&lt;/STRONG&gt;\Current\Product\Production, to SVN (remove/exclude the bin/obj directories).&lt;BR&gt;5. Commit your additions, and the changes to the main solution (new projects) to SVN.&lt;BR&gt;6. CruiseControl.NET should now pick up changes and compile your new solution.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial&gt;&lt;STRONG&gt;Miscellaneous notes&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial&gt;The resource usage for an 'empty' CIFactory install with default modules but none of your own projects came in at &lt;STRONG&gt;14Mb&lt;/STRONG&gt; with SVN on hosted-projects.com (peaked at 17Mb during commit).&amp;nbsp; Important to note if you have usage limits.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial&gt;The other wrinkle I had was a SubVersion certificate issue; hosted-projects.com are still using a certificate based on the URL &amp;nbsp;&lt;A href="http://www.hosted-projects.com/"&gt;http://www.hosted-projects.com/&lt;/A&gt; which was created prior to their configuring multiple servers.&amp;nbsp; My repositories are now on svn1.hosted-projects.com, however they still use the old certificate for encrypting content.&amp;nbsp; This doesn't bother me but it can bother &lt;EM&gt;svn.exe&lt;/EM&gt;, the command line tool, especially when used in an automated mode.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial&gt;To fix this run SVN.EXE at the command line to your repository;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;EM&gt;svn list &lt;/EM&gt;&lt;A href="https://svn1.hosted-projects.com/xxxxxx/cifactory"&gt;&lt;EM&gt;https://svn1.hosted-projects.com/xxxxxx/cifactory&lt;/EM&gt;&lt;/A&gt;&lt;FONT face="Courier New"&gt;&lt;FONT face=Arial&gt;&lt;EM&gt; --username xxxx --password xxxx&lt;/EM&gt;&lt;/FONT&gt;&lt;BR&gt;&lt;/FONT&gt;You will be asked to accept the certificate, if you choose permanently then&amp;nbsp;the CIFactory and CCNET scripts will work without a problem.&lt;/FONT&gt;&lt;/P&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=110693"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=110693" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/twickers/aggbug/110693.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Liam Westley</dc:creator>
            <guid>http://geekswithblogs.net/twickers/archive/2007/04/03/110693.aspx</guid>
            <pubDate>Tue, 03 Apr 2007 16:06:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/twickers/comments/110693.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/twickers/archive/2007/04/03/110693.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/twickers/comments/commentRss/110693.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/twickers/services/trackbacks/110693.aspx</trackback:ping>
        </item>
        <item>
            <title>CI Factory - my first day of real use - phew!</title>
            <link>http://geekswithblogs.net/twickers/archive/2007/04/03/110691.aspx</link>
            <description>&lt;P&gt;&lt;FONT face=Arial&gt;A friend from the &lt;A href="http://www.dnug.org.uk"&gt;London .NET users&lt;/A&gt; group, &lt;A href="http://www.ibbotson.co.uk/peteri/"&gt;Peter Ibbotson&lt;/A&gt;, on hearing that I had started looking into Cruise Control .NET for continuous integration said that before doing anything I should look at &lt;A href="http://www.zimakki.com/blog/?p=34"&gt;Zi Makki's&lt;/A&gt; blog about &lt;A href="http://jay.flowers.googlepages.com/cifactory"&gt;CIFactory&lt;/A&gt;, a master setup tool for creating a source code tree complete with various tools such as SubVersion, NCover, NDepends all hooked into CruiseControl.NET with NAnt as the build script automating the processing.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial&gt;Well, I've just spent a challenging but very satisfying day and a half getting to grips with CI Factory and I'm very impressed.&amp;nbsp; I know the principles of TDD and CI, but being a one man micro-ISV and not having the luck to work for a client with a TDD/CI software methodology I've never got round to sorting my own development out.&amp;nbsp; &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial&gt;CI Factory provides an ideal kickoff point as you get a large number of standard modules, configured on the fly for your 'new' project in your repository.&amp;nbsp; It doesn't have to be a really new project, as long as you don't have a mega project with 100's of projects you can probably move your code into the CI Factory Production tree quite quickly.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial&gt;For those starting out new I cannot overstate how important the screen cast training videos were to my getting the system up and running so quickly.&amp;nbsp; The longer video based on &lt;A href="http://jayflowers.com/CI%20Factory/Videos/CI%20Factory%20Beta%200.8/CI%20Factory%20Beta%200.8.html"&gt;0.8.0.27&lt;/A&gt; beta gives you a great installation guide to setting up the default options correctly.&amp;nbsp; It helped that I run SubVersion as my source control system but it was so good I downloaded the whole lot to my local drive (not trivial with various .swf, .flv and .xml files being required) so I can browse the video under a local IIS when not connected to the Internet.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial&gt;The only real issues I had were configuring the system to work on a development machine where only source code and data is on my C: partition, with my programs all in C:\Program Files.&amp;nbsp; There'll be an accompanying blog on how to solve this issue.&amp;nbsp; However, few people are probably in this position so they'll have a much easier time.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial&gt;Many thanks to &lt;A href="http://jayflowers.com"&gt;Jay Flowers&lt;/A&gt;, the developer behind CIFactory for replying very quickly with my D: drive queries. A patient man, as I'm not someone who has dealt with NAnt scripts before and had to be helped out a bit more than should have been necessary.&lt;/FONT&gt;&lt;/P&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=110691"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=110691" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/twickers/aggbug/110691.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Liam Westley</dc:creator>
            <guid>http://geekswithblogs.net/twickers/archive/2007/04/03/110691.aspx</guid>
            <pubDate>Tue, 03 Apr 2007 15:13:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/twickers/comments/110691.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/twickers/archive/2007/04/03/110691.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/twickers/comments/commentRss/110691.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/twickers/services/trackbacks/110691.aspx</trackback:ping>
        </item>
    </channel>
</rss>