<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>Hyper-V for Developers - presentation from Edge UG 16 September 2009</title>
            <link>http://geekswithblogs.net/twickers/archive/2009/09/17/134862.aspx</link>
            <description>Thanks to Ray and Gavin for organising another top &lt;a href="http://www.edgeug.net" style="font-weight: bold;"&gt;EdgeUG&lt;/a&gt; meeting in Microsoft Cardinal Place and for everyone who attended my talk on Hyper-V for Developers. The audience had to deal with a huge amount of technical information that I crammed into the hour - hopefully it didn't put them off their pizza.  &lt;br /&gt;
&lt;br /&gt;
Fortunately the Stack Overflow master and author of &lt;a href="http://csharpindepth.com/" style="font-weight: bold;"&gt;C# in Depth&lt;/a&gt;, &lt;a href="http://twitter.com/jonskeet" style="font-weight: bold;"&gt;Jon Skeet&lt;/a&gt;, was on hand after the break for a interesting glimpse into code contracts coming with VS2010 and C# 4.0.  &lt;br /&gt;
&lt;br /&gt;
For those who weren't there last night, the presentation provides an overview of Hyper-V Server 2008 and Windows Server 2008 running Hyper-V, tools that you can install to help you out, how Snapshots work and finally automation of Hyper-V using the PowerShell library for Hyper-V as might be used in CI (continous integration) server.&lt;br /&gt;
&lt;br /&gt;
I've got two version of the slidedeck, one in PowerPoint, &lt;a href="http://www.tigernews.co.uk/blog-twickers/edgeug/hyperv4dev-ppt.zip" style="font-weight: bold;"&gt;hyperv4dev-ppt.zip&lt;/a&gt;, and a PDF version complete with speaker notes that contains all the interesting stuff including the PowerShell script, &lt;a href="http://www.tigernews.co.uk/blog-twickers/edgeug/hyperv4dev-pdf.zip" style="font-weight: bold;"&gt;hyperv4dev-pdf.zip&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Thanks again to the guys from EdgeUG and all those who joined us down the pub afterwards for a beer and a chat.&lt;br /&gt;
&lt;br /&gt;
Liam&lt;br /&gt;
&lt;br /&gt;
P.S. Jon mentioned that Microsoft has decided that static checking of Code Contracts should be limited to the Team System versions of Visual Studio 2010. Here is a link to the Microsoft Connect request to reverse this blinkered approach and place static checking into Visual Studio Professional edition;&lt;br /&gt;
&lt;br /&gt;
   &lt;span id="msgtxt3908053654" class="msgtxt en"&gt;&lt;a href="https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=481327" onclick="pageTracker._trackPageview('/exit/link/3908053654')" rel="nofollow" target="_blank"&gt;https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=481327&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Do please vote on t his topic and let Microsoft know what you think, hopefully it 's not too late to reverse this marketing decision. &lt;/span&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=134862"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=134862" 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/134862.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Liam Westley</dc:creator>
            <guid>http://geekswithblogs.net/twickers/archive/2009/09/17/134862.aspx</guid>
            <pubDate>Thu, 17 Sep 2009 14:29:04 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/twickers/comments/134862.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/twickers/archive/2009/09/17/134862.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/twickers/comments/commentRss/134862.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/twickers/services/trackbacks/134862.aspx</trackback:ping>
        </item>
        <item>
            <title>Hyper-V for Developers - presentation from DevEvening 13 August 2009</title>
            <link>http://geekswithblogs.net/twickers/archive/2009/08/14/134088.aspx</link>
            <description>Thanks to Alex and Matt for organising another top &lt;a href="http://www.devevening.co.uk/index.aspx" style="font-weight: bold;"&gt;DevEvening&lt;/a&gt; user group in Woking and for everyone who attended my talk on Hyper-V for Developers. Apologies for over running and hope it didn't stop you from enjoying your meals.  I think I achieved a good warm up for &lt;span class="post-author vcard"&gt; &lt;span class="fn"&gt;&lt;a href="http://serialseb.blogspot.com/" style="font-weight: bold;"&gt;Sebastien Lambla&lt;/a&gt;'s talk on best practices in MVC.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
For those who weren't there last night, the presentation provides an overview of Hyper-V Server 2008 and Windows Server 2008 running Hyper-V, tools that you can install to help you out, how Snapshots work and finally automation of Hyper-V using the PowerShell library for Hyper-V.&lt;br /&gt;
&lt;br /&gt;
I've got two version of the slidedeck, one in PowerPoint, &lt;a href="http://www.tigernews.co.uk/blog-twickers/devevening/hyperv4dev-ppt.zip" style="font-weight: bold;"&gt;hyperv4dev-ppt.zip&lt;/a&gt;, and a PDF version complete with speaker notes that contains all the interesting stuff including the PowerShell script, &lt;a href="http://www.tigernews.co.uk/blog-twickers/devevening/hyperv4dev-pdf.zip" style="font-weight: bold;"&gt;hyperv4dev-pdf.zip&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Thanks again to the guys in Woking, and for &lt;span class="post-author vcard"&gt;&lt;span class="fn"&gt;Sebastien Lambla f&lt;/span&gt;&lt;/span&gt;or helping me polish off a bottle of nice wine on the way back to London.&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=134088"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=134088" 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/134088.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Liam Westley</dc:creator>
            <guid>http://geekswithblogs.net/twickers/archive/2009/08/14/134088.aspx</guid>
            <pubDate>Fri, 14 Aug 2009 15:01:13 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/twickers/comments/134088.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/twickers/archive/2009/08/14/134088.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/twickers/comments/commentRss/134088.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/twickers/services/trackbacks/134088.aspx</trackback:ping>
        </item>
        <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 21: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 21: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>Mon, 15 Oct 2007 11: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>Mon, 21 May 2007 10: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>Tue, 24 Apr 2007 10: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>
            <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>Mon, 16 Apr 2007 12: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>5</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>Wed, 11 Apr 2007 02: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>7</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>Wed, 04 Apr 2007 05: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>
    </channel>
</rss>