<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" 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:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>The Efficient Coder</title>
    <link>http://www.efficientcoder.net/</link>
    <description>There has got to be a better way of communicating with our computers!</description>
    <language>en-us</language>
    <copyright>Kevin D. Wolf</copyright>
    <lastBuildDate>Thu, 15 Nov 2007 03:58:26 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 1.8.5223.2</generator>
    <managingEditor>kevinw@software-logistics.com</managingEditor>
    <webMaster>kevinw@software-logistics.com</webMaster>
    <item>
      <trackback:ping>http://www.efficientcoder.net/Trackback.aspx?guid=81b34cd8-87ba-4bd7-bb98-93ee8b8dfbc0</trackback:ping>
      <pingback:server>http://www.efficientcoder.net/pingback.aspx</pingback:server>
      <pingback:target>http://www.efficientcoder.net/PermaLink,guid,81b34cd8-87ba-4bd7-bb98-93ee8b8dfbc0.aspx</pingback:target>
      <dc:creator>kevinw@software-logistics.com (Kevin D. Wolf)</dc:creator>
      <wfw:comment>http://www.efficientcoder.net/CommentView,guid,81b34cd8-87ba-4bd7-bb98-93ee8b8dfbc0.aspx</wfw:comment>
      <wfw:commentRss>http://www.efficientcoder.net/SyndicationService.asmx/GetEntryCommentsRss?guid=81b34cd8-87ba-4bd7-bb98-93ee8b8dfbc0</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <font size="4">VS.NET 2008 &amp; VS.NET 2005 Solution Files</font>
        </p>
        <p>
      I recently made the move to Beta 2 for my main project and so-far-so-good, I haven't
      made the move to the 3.5 framework yet, I probably will as soon as I get the RTM later
      this month.  I'm being a bit cautious and not installing and beta components
      on my build server so I did a little research and found this article on information for
      working with your projects in both VS.NET 2008 and VS.NET 2005 concurrently.
   </p>
        <p>
          <a href="http://west-wind.com/weblog/posts/122975.aspx">http://west-wind.com/weblog/posts/122975.aspx</a>
        </p>
        <p>
      Basically just make a copy of your solution file, then change the "Format Version"
      and "# Visual Studio"
   </p>
        <p>
          <img src="http://www.efficientcoder.com/content/binary/VS2005.png" border="0" />
        </p>
        <p>
      ProjectName_2005.sln
   </p>
        <p>
       
   </p>
        <p>
          <img src="http://www.efficientcoder.com/content/binary/VS2008.png" border="0" />
        </p>
        <p>
      ProjectName_2008.sln
   </p>
        <p>
      From what I can tell so far, the actual project files just aren't a problem.
   </p>
        <p>
      -ec
   </p>
        <img width="0" height="0" src="http://www.efficientcoder.net/aggbug.ashx?id=81b34cd8-87ba-4bd7-bb98-93ee8b8dfbc0" />
      </body>
      <title>VS.NET 2008 &amp; VS.NET 2005 Solution Files</title>
      <guid>http://www.efficientcoder.net/PermaLink,guid,81b34cd8-87ba-4bd7-bb98-93ee8b8dfbc0.aspx</guid>
      <link>http://www.efficientcoder.net/PermaLink,guid,81b34cd8-87ba-4bd7-bb98-93ee8b8dfbc0.aspx</link>
      <pubDate>Thu, 15 Nov 2007 03:58:26 GMT</pubDate>
      <description>&lt;p&gt;
   &lt;font size=4&gt;VS.NET 2008 &amp;amp; VS.NET 2005 Solution Files&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
   I recently made the move to Beta 2 for my main project and so-far-so-good, I haven't
   made the move to the 3.5 framework yet, I probably will as soon as I get the RTM later
   this month.&amp;nbsp;&amp;nbsp;I'm being a bit cautious and not installing and beta components
   on my build server so I did a little research and found this article on&amp;nbsp;information&amp;nbsp;for
   working with your projects in both VS.NET 2008 and VS.NET 2005 concurrently.
&lt;/p&gt;
&lt;p&gt;
   &lt;a href="http://west-wind.com/weblog/posts/122975.aspx"&gt;http://west-wind.com/weblog/posts/122975.aspx&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
   Basically just make a copy of your solution file, then change the "Format Version"
   and "# Visual Studio"
&lt;/p&gt;
&lt;p&gt;
   &lt;img src="http://www.efficientcoder.com/content/binary/VS2005.png" border=0&gt;
&lt;/p&gt;
&lt;p&gt;
   ProjectName_2005.sln
&lt;/p&gt;
&lt;p&gt;
   &amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
   &lt;img src="http://www.efficientcoder.com/content/binary/VS2008.png" border=0&gt;
&lt;/p&gt;
&lt;p&gt;
   ProjectName_2008.sln
&lt;/p&gt;
&lt;p&gt;
   From what I can tell so far, the actual project files just aren't a problem.
&lt;/p&gt;
&lt;p&gt;
   -ec
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.efficientcoder.net/aggbug.ashx?id=81b34cd8-87ba-4bd7-bb98-93ee8b8dfbc0" /&gt;</description>
      <comments>http://www.efficientcoder.net/CommentView,guid,81b34cd8-87ba-4bd7-bb98-93ee8b8dfbc0.aspx</comments>
      <category>ASP.NET;Continuous Integration</category>
    </item>
    <item>
      <trackback:ping>http://www.efficientcoder.net/Trackback.aspx?guid=d9fac2c7-df15-4344-854c-d4c64eb198c7</trackback:ping>
      <pingback:server>http://www.efficientcoder.net/pingback.aspx</pingback:server>
      <pingback:target>http://www.efficientcoder.net/PermaLink,guid,d9fac2c7-df15-4344-854c-d4c64eb198c7.aspx</pingback:target>
      <dc:creator>kevinw@software-logistics.com (Kevin D. Wolf)</dc:creator>
      <wfw:comment>http://www.efficientcoder.net/CommentView,guid,d9fac2c7-df15-4344-854c-d4c64eb198c7.aspx</wfw:comment>
      <wfw:commentRss>http://www.efficientcoder.net/SyndicationService.asmx/GetEntryCommentsRss?guid=d9fac2c7-df15-4344-854c-d4c64eb198c7</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <font size="4">
            <strong>Comparing Microsoft Team Foundation Server and Collection of
      Open Source Tools</strong>
          </font>
        </p>
        <p>
      Over the past few months I've been formalizing my deployment process through the use
      of configuration management tools.  I have what I know feel is a nice environment
      for doing continuous integration builds, a file is checked the file in,
      and out pops a build.  Using branching in the TFS Source Control allows for promoting
      changes from a development to staging as this happens the continuous integration environment
      picks up that change to the staging branch and deploys the new build to our User Acceptance
      environment.
   </p>
        <p>
      Now what I want to do is associate work items completed with the actual builds, since
      Software Logistics has minimal support staff, this needs to be automated as much as
      possible.  Basically the flow of a work item should be as follows:
   </p>
        <ol>
          <li>
         End User/Manager enters a bug/task, for the sake of this work flow, let's say this
         automatically gets assigned to the person responsible for closing the work item. 
      </li>
          <li>
         The person responsible for closing the work item should be notified via email 
      </li>
          <li>
         At some point we need to figure out scheduling 
      </li>
          <li>
         The developer works on the work item 
      </li>
          <li>
         Checks in the source code 
      </li>
          <li>
         This kicks off a build 
      </li>
          <li>
         An RSS Item is created by the build process, included within this RSS Item is the
         Work Items completed since the last build. 
      </li>
          <li>
         Once the manager decides it's time to deploy the changes, they promote the changes
         to the staging or user acceptance environment 
      </li>
          <li>
         This kicks off an additional build, we know the last time the build took place so now
         we want to associate work items with this build.  This should also be in
         the form of an RSS entry the client can subscribe to. 
      </li>
          <li>
         Included in this RSS entry is the build that can be applied to the production enviornment. </li>
        </ol>
        <p>
      For now, I've pretty much settled on using the Version Control software that is built
      in to TFS and Visual Studio 2005 for my IDE, everything else is up in the air. 
      In addition, this environment should be peiced together with as little new custom
      projects as possible.  
   </p>
        <p>
          <strong>The two alternatives for putting this environment together are:</strong>
        </p>
        <ol>
          <li>
         Fully moving to TFS to manage all of this 
      </li>
          <li>
         Peice together a build environment that leverages open source tools.</li>
        </ol>
        <p>
          <strong>Microsoft Team Foundation Server Environment</strong>
        </p>
        <p>
      What is really nice about this is that it is an all encompassing solution.  
   </p>
        <p>
      The following features are built in:
   </p>
        <ul>
          <li>
         Work Item Tracking (very customizable) 
      </li>
          <li>
         Source Control 
      </li>
          <li>
         MS Build Server</li>
        </ul>
        <img width="0" height="0" src="http://www.efficientcoder.net/aggbug.ashx?id=d9fac2c7-df15-4344-854c-d4c64eb198c7" />
      </body>
      <title>Team Foundation Server or Chinese Menu?</title>
      <guid>http://www.efficientcoder.net/PermaLink,guid,d9fac2c7-df15-4344-854c-d4c64eb198c7.aspx</guid>
      <link>http://www.efficientcoder.net/PermaLink,guid,d9fac2c7-df15-4344-854c-d4c64eb198c7.aspx</link>
      <pubDate>Sat, 03 Jun 2006 12:46:53 GMT</pubDate>
      <description>&lt;p&gt;
   &lt;font size=4&gt;&lt;strong&gt;Comparing Microsoft Team Foundation Server and Collection of
   Open Source Tools&lt;/strong&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
   Over the past few months I've been formalizing my deployment process through the use
   of configuration management tools.&amp;nbsp; I have what I know feel is a nice environment
   for doing continuous integration builds,&amp;nbsp;a file is&amp;nbsp;checked the file in,
   and out pops a build.&amp;nbsp; Using branching in the TFS Source Control allows for promoting
   changes from a development to staging as this happens the continuous integration environment
   picks up that change to the staging branch and deploys the new build to our User Acceptance
   environment.
&lt;/p&gt;
&lt;p&gt;
   Now what I want to do is associate work items completed with the actual builds, since
   Software Logistics has minimal support staff, this needs to be automated as much as
   possible.&amp;nbsp; Basically the flow of a work item should be as follows:
&lt;/p&gt;
&lt;ol&gt;
   &lt;li&gt;
      End User/Manager enters a bug/task, for the sake of this work flow, let's say this
      automatically gets assigned to the person responsible for closing the work item. 
   &lt;li&gt;
      The person responsible for closing the work item should be notified via email 
   &lt;li&gt;
      At some point we need to figure out scheduling 
   &lt;li&gt;
      The developer works on the work item 
   &lt;li&gt;
      Checks in the source code 
   &lt;li&gt;
      This kicks off a build 
   &lt;li&gt;
      An RSS Item is created by the build process, included within this RSS Item is the
      Work Items completed since the last build. 
   &lt;li&gt;
      Once the manager decides it's time to deploy the changes, they promote the changes
      to the staging or user acceptance environment 
   &lt;li&gt;
      This kicks off an additional build, we know the last time the build took place so&amp;nbsp;now
      we&amp;nbsp;want to associate work items with this build.&amp;nbsp; This should also be in
      the form&amp;nbsp;of an RSS entry the client can subscribe to. 
   &lt;li&gt;
      Included in this RSS entry is the build that can be applied to the production enviornment.&amp;nbsp;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
   For now, I've pretty much settled on using the Version Control software that is built
   in to TFS and Visual Studio 2005 for my IDE, everything else is up in the air.&amp;nbsp;
   In addition, this environment should be peiced together with as little new custom
   projects as possible.&amp;nbsp; 
&lt;/p&gt;
&lt;p&gt;
   &lt;strong&gt;The two alternatives for putting this environment together are:&lt;/strong&gt;
&lt;/p&gt;
&lt;ol&gt;
   &lt;li&gt;
      Fully moving to TFS to manage all of this 
   &lt;li&gt;
      Peice together a build environment that leverages open source tools.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
   &lt;strong&gt;Microsoft Team Foundation Server Environment&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
   What is really nice about this is that it is an all encompassing solution.&amp;nbsp; 
&lt;/p&gt;
&lt;p&gt;
   The following features are built in:
&lt;/p&gt;
&lt;ul&gt;
   &lt;li&gt;
      Work Item Tracking (very customizable) 
   &lt;li&gt;
      Source Control 
   &lt;li&gt;
      MS Build Server&lt;/li&gt;
&lt;/ul&gt;
&lt;img width="0" height="0" src="http://www.efficientcoder.net/aggbug.ashx?id=d9fac2c7-df15-4344-854c-d4c64eb198c7" /&gt;</description>
      <comments>http://www.efficientcoder.net/CommentView,guid,d9fac2c7-df15-4344-854c-d4c64eb198c7.aspx</comments>
      <category>Continuous Integration;TFS</category>
    </item>
    <item>
      <trackback:ping>http://www.efficientcoder.net/Trackback.aspx?guid=a8855f4f-28e7-4cf9-9f22-b19514c56570</trackback:ping>
      <pingback:server>http://www.efficientcoder.net/pingback.aspx</pingback:server>
      <pingback:target>http://www.efficientcoder.net/PermaLink,guid,a8855f4f-28e7-4cf9-9f22-b19514c56570.aspx</pingback:target>
      <dc:creator>kevinw@software-logistics.com (Kevin D. Wolf)</dc:creator>
      <wfw:comment>http://www.efficientcoder.net/CommentView,guid,a8855f4f-28e7-4cf9-9f22-b19514c56570.aspx</wfw:comment>
      <wfw:commentRss>http://www.efficientcoder.net/SyndicationService.asmx/GetEntryCommentsRss?guid=a8855f4f-28e7-4cf9-9f22-b19514c56570</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
      How can you tell how efficient your software development/migration process is?
   </p>
        <p>
      It might be interesting to develop a set of metrics that capture the amount of time
      and steps involved with doing certain common activitives on a development effort. 
      A simple but I think effective measurement might be what is involved with adding a
      data-driven, context sensitive drop down list to a WinForm or WebForm.  This
      would involve steps similar to the following:
   </p>
        <ul>
          <li>
         Adding the data source to populate the drop down</li>
          <li>
         Adding the field to be controlled to the data base</li>
          <li>
         Getting the source from your source control repository</li>
          <li>
         Modifying the data transfer objects to get the selected value between the database
         and the control</li>
          <li>
         Modify the user interface to add the control</li>
          <li>
         Checking in the changes</li>
          <li>
         Add some sort of help documentation</li>
          <li>
         Develop any required tests</li>
          <li>
         Migration to the three typical environments (Dev, Stage, Prod) for both the application
         code and database objects.</li>
        </ul>
        <p>
      Come to think of it if this process was captured (even without any metrics) it would
      go a long ways for developer documentation.
   </p>
        <img width="0" height="0" src="http://www.efficientcoder.net/aggbug.ashx?id=a8855f4f-28e7-4cf9-9f22-b19514c56570" />
      </body>
      <title>Interesting measurement of an Efficient Process</title>
      <guid>http://www.efficientcoder.net/PermaLink,guid,a8855f4f-28e7-4cf9-9f22-b19514c56570.aspx</guid>
      <link>http://www.efficientcoder.net/PermaLink,guid,a8855f4f-28e7-4cf9-9f22-b19514c56570.aspx</link>
      <pubDate>Wed, 19 Apr 2006 20:53:45 GMT</pubDate>
      <description>&lt;p&gt;
   How can you tell how efficient your software development/migration process is?
&lt;/p&gt;
&lt;p&gt;
   It might be interesting to develop a set of metrics that capture the amount of time
   and steps involved with doing certain common&amp;nbsp;activitives on a development effort.&amp;nbsp;
   A simple but I think effective measurement might be what is involved with adding a
   data-driven, context sensitive drop down list to a WinForm or WebForm.&amp;nbsp; This
   would involve steps similar to the following:
&lt;/p&gt;
&lt;ul&gt;
   &lt;li&gt;
      Adding the data source to populate the drop down&lt;/li&gt;
   &lt;li&gt;
      Adding the field to be controlled to the data base&lt;/li&gt;
   &lt;li&gt;
      Getting the source from your source control repository&lt;/li&gt;
   &lt;li&gt;
      Modifying the data transfer objects to get the selected value between the database
      and the control&lt;/li&gt;
   &lt;li&gt;
      Modify the user interface to add the control&lt;/li&gt;
   &lt;li&gt;
      Checking in the changes&lt;/li&gt;
   &lt;li&gt;
      Add some sort of help documentation&lt;/li&gt;
   &lt;li&gt;
      Develop any required tests&lt;/li&gt;
   &lt;li&gt;
      Migration to the three typical environments (Dev, Stage, Prod) for both the application
      code and database objects.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
   Come to think of it if this process was captured (even without any metrics) it would
   go&amp;nbsp;a long ways for developer documentation.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.efficientcoder.net/aggbug.ashx?id=a8855f4f-28e7-4cf9-9f22-b19514c56570" /&gt;</description>
      <comments>http://www.efficientcoder.net/CommentView,guid,a8855f4f-28e7-4cf9-9f22-b19514c56570.aspx</comments>
      <category>Continuous Integration;Software Metrics</category>
    </item>
    <item>
      <trackback:ping>http://www.efficientcoder.net/Trackback.aspx?guid=dcd81283-09fa-47ef-8bee-7f4a3512a24b</trackback:ping>
      <pingback:server>http://www.efficientcoder.net/pingback.aspx</pingback:server>
      <pingback:target>http://www.efficientcoder.net/PermaLink,guid,dcd81283-09fa-47ef-8bee-7f4a3512a24b.aspx</pingback:target>
      <dc:creator>kevinw@software-logistics.com (Kevin D. Wolf)</dc:creator>
      <wfw:comment>http://www.efficientcoder.net/CommentView,guid,dcd81283-09fa-47ef-8bee-7f4a3512a24b.aspx</wfw:comment>
      <wfw:commentRss>http://www.efficientcoder.net/SyndicationService.asmx/GetEntryCommentsRss?guid=dcd81283-09fa-47ef-8bee-7f4a3512a24b</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
      My continous integration environment is coming along nicely.  I currently have
      five projects integrated...3 web sites, 1 VB Outlook Addin Application and 1 Compact
      Frameworks Application.  The most advanced project I have in place is a web site
      that uses the following script:
   </p>
        <p>
          <img src="http://www.efficientcoder.net/content/binary/BuildScript.PNG" border="0" />
        </p>
        <p>
      To summarize:
   </p>
        <ol>
          <li>
         First the Team Foundation Server source control repository is checked to see if any
         files are updated. 
      </li>
          <li>
         If files are updated, then CruiseControl automatically <strong>gets</strong> all the
         files from the source control repository. 
      </li>
          <li>
         MSBuild kicks off and builds the class libraries and web site. 
      </li>
          <li>
            <a href="http://www.nunit.org/">NUnit</a> tests are ran against the class library 
      </li>
          <li>
         MSBuild kicks off a <a href="http://msdn.microsoft.com/asp.net/reference/infrastructure/wdp/default.aspx">Web
         Deployment Project</a> to update the staging server and change the connection string
         keys in the web.config file. 
      </li>
          <li>
         Last but not least functional test are kicked off through a NUnit test that executes <a href="http://www.hanselman.com/blog/IntegratingRubyAndWatirWithNUnit.aspx">WATIR</a> test
         scripts</li>
        </ol>
        <p>
      This is working <strong>excellent</strong>!
   </p>
        <p>
       
   </p>
        <img width="0" height="0" src="http://www.efficientcoder.net/aggbug.ashx?id=dcd81283-09fa-47ef-8bee-7f4a3512a24b" />
      </body>
      <title>Continuos Integration Update</title>
      <guid>http://www.efficientcoder.net/PermaLink,guid,dcd81283-09fa-47ef-8bee-7f4a3512a24b.aspx</guid>
      <link>http://www.efficientcoder.net/PermaLink,guid,dcd81283-09fa-47ef-8bee-7f4a3512a24b.aspx</link>
      <pubDate>Wed, 12 Apr 2006 01:07:18 GMT</pubDate>
      <description>&lt;p&gt;
   My continous integration environment is coming along nicely.&amp;nbsp; I currently have
   five projects integrated...3 web sites, 1 VB Outlook Addin Application and 1 Compact
   Frameworks Application.&amp;nbsp; The most advanced project I have in place is a web site
   that uses the following script:
&lt;/p&gt;
&lt;p&gt;
   &lt;img src="http://www.efficientcoder.net/content/binary/BuildScript.PNG" border=0&gt;
&lt;/p&gt;
&lt;p&gt;
   To summarize:
&lt;/p&gt;
&lt;ol&gt;
   &lt;li&gt;
      First the Team Foundation Server source control repository is checked to see if any
      files are updated. 
   &lt;li&gt;
      If files are updated, then CruiseControl automatically &lt;strong&gt;gets&lt;/strong&gt; all the
      files from the source control repository. 
   &lt;li&gt;
      MSBuild kicks off and builds the class libraries and web site. 
   &lt;li&gt;
      &lt;a href="http://www.nunit.org/"&gt;NUnit&lt;/a&gt; tests are ran against the class library 
   &lt;li&gt;
      MSBuild kicks off a &lt;a href="http://msdn.microsoft.com/asp.net/reference/infrastructure/wdp/default.aspx"&gt;Web
      Deployment Project&lt;/a&gt; to update the staging server and change the connection string
      keys in the web.config file. 
   &lt;li&gt;
      Last but not least functional test are kicked off through a NUnit test that executes &lt;a href="http://www.hanselman.com/blog/IntegratingRubyAndWatirWithNUnit.aspx"&gt;WATIR&lt;/a&gt; test
      scripts&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
   This is working &lt;strong&gt;excellent&lt;/strong&gt;!
&lt;/p&gt;
&lt;p&gt;
   &amp;nbsp;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.efficientcoder.net/aggbug.ashx?id=dcd81283-09fa-47ef-8bee-7f4a3512a24b" /&gt;</description>
      <comments>http://www.efficientcoder.net/CommentView,guid,dcd81283-09fa-47ef-8bee-7f4a3512a24b.aspx</comments>
      <category>Continuous Integration</category>
    </item>
    <item>
      <trackback:ping>http://www.efficientcoder.net/Trackback.aspx?guid=7f529d2d-c1ac-455c-9cfb-4b4cccf91c6d</trackback:ping>
      <pingback:server>http://www.efficientcoder.net/pingback.aspx</pingback:server>
      <pingback:target>http://www.efficientcoder.net/PermaLink,guid,7f529d2d-c1ac-455c-9cfb-4b4cccf91c6d.aspx</pingback:target>
      <dc:creator>kevinw@software-logistics.com (Kevin D. Wolf)</dc:creator>
      <wfw:comment>http://www.efficientcoder.net/CommentView,guid,7f529d2d-c1ac-455c-9cfb-4b4cccf91c6d.aspx</wfw:comment>
      <wfw:commentRss>http://www.efficientcoder.net/SyndicationService.asmx/GetEntryCommentsRss?guid=7f529d2d-c1ac-455c-9cfb-4b4cccf91c6d</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
      Over the last couple of days, I completed a first version of a Continous Integration
      environment.  If you are not familar with what Continous Integration is, I would
      recommend an excellent <a href="http://www.hanselminutes.com/default.aspx?showID=5">podcast</a> from <a href="http://www.hanselman.com/blog/">Scott
      Hanelman</a>.
   </p>
        <p>
      I have a dedicated build machine setup that will be hosting two environments for performing
      build &amp; tests, I'm going to test 
   </p>
        <ul>
          <li>
         Built In build server from Team Foundation Server 
      </li>
          <li>
            <a href="http://confluence.public.thoughtworks.org/display/CCNET/Welcome+to+CruiseControl.NET">CruiseControl.NET</a> a
         product from <a href="http://www.thoughtworks.com/select-country.html">ThoughtWorks</a></li>
        </ul>
        <p>
      I had installed the Build Component with TFS a while ago, configured it to run builds
      and this seemed pretty cool, but haven't spent too much time on this.
   </p>
        <p>
      The CruiseControl.NET environment I created is fairly basic, but I was able to
      get it up and running within about an hour.  Here is a summary of what is currently
      in place.
   </p>
        <ul>
          <li>
         CruiseControl.NET runs as a service and is configured with ccnet.config file. 
      </li>
          <li>
         Within ccnet.config, I created a project that looks at source code within my TFS repository. 
      </li>
          <li>
         When I check a file in to the TFS repository for the project I created, it get's all
         the source code under the node specified in the ccnet.config, then runs a task to
         kick off a build with MSBuild. 
      </li>
          <li>
         A small application can be installed on our development machine that runs in the tray
         that allows you to check the status of builds, it also gives you notifications of
         when builds are completed or they break. 
      </li>
          <li>
         In addition there is a web based dashboard that will give me a report of the latest
         builds.</li>
        </ul>
        <p>
          <img src="http://www.efficientcoder.net/content/binary/CCNET.gif" border="0" />
        </p>
        <p>
      I'm extremely excitied about using additional features that will allow for unit testing
      and functional testing as well as deployment.  I'm going to compare the Microsoft
      TFS offerring with the CruiseControl option.  In theory, if I build these both
      around the the MSBuild tool, I should be able to have similar build processes in both
      environments.
   </p>
        <p>
      What experiences have you had with continuous integration or similar technologies?
   </p>
        <img width="0" height="0" src="http://www.efficientcoder.net/aggbug.ashx?id=7f529d2d-c1ac-455c-9cfb-4b4cccf91c6d" />
      </body>
      <title>Setup Continous Integration Environment</title>
      <guid>http://www.efficientcoder.net/PermaLink,guid,7f529d2d-c1ac-455c-9cfb-4b4cccf91c6d.aspx</guid>
      <link>http://www.efficientcoder.net/PermaLink,guid,7f529d2d-c1ac-455c-9cfb-4b4cccf91c6d.aspx</link>
      <pubDate>Sat, 01 Apr 2006 16:11:31 GMT</pubDate>
      <description>&lt;p&gt;
   Over the last couple of days, I completed a first version of a Continous Integration
   environment.&amp;nbsp; If you are not familar with what Continous Integration is, I would
   recommend an excellent &lt;a href="http://www.hanselminutes.com/default.aspx?showID=5"&gt;podcast&lt;/a&gt; from &lt;a href="http://www.hanselman.com/blog/"&gt;Scott
   Hanelman&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
   I have a dedicated build machine setup that will be hosting two environments for performing
   build &amp;amp; tests, I'm going to test 
&lt;/p&gt;
&lt;ul&gt;
   &lt;li&gt;
      Built In build server from Team Foundation Server 
   &lt;li&gt;
      &lt;a href="http://confluence.public.thoughtworks.org/display/CCNET/Welcome+to+CruiseControl.NET"&gt;CruiseControl.NET&lt;/a&gt; a
      product from &lt;a href="http://www.thoughtworks.com/select-country.html"&gt;ThoughtWorks&lt;/a&gt;
   &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
   I had installed the Build Component with TFS a while ago, configured it to run builds
   and this seemed pretty cool, but haven't spent too much time on this.
&lt;/p&gt;
&lt;p&gt;
   The CruiseControl.NET environment I created&amp;nbsp;is fairly basic, but I was able to
   get it up and running within about an hour.&amp;nbsp; Here is a summary of what is currently
   in place.
&lt;/p&gt;
&lt;ul&gt;
   &lt;li&gt;
      CruiseControl.NET runs as a service and is configured with ccnet.config file. 
   &lt;li&gt;
      Within ccnet.config, I created a project that looks at source code within my TFS repository. 
   &lt;li&gt;
      When I check a file in to the TFS repository for the project I created, it get's all
      the source code under the node specified in the ccnet.config, then runs a task to
      kick off a build with MSBuild. 
   &lt;li&gt;
      A small application can be installed on our development machine that runs in the tray
      that allows you to check the status of builds, it also gives you notifications of
      when builds are completed or they break. 
   &lt;li&gt;
      In addition there is a web based dashboard that will give me a report of the latest
      builds.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
   &lt;img src="http://www.efficientcoder.net/content/binary/CCNET.gif" border=0&gt;
&lt;/p&gt;
&lt;p&gt;
   I'm extremely excitied about using additional features that will allow for unit testing
   and functional testing as well as deployment.&amp;nbsp; I'm going to compare the Microsoft
   TFS offerring with the CruiseControl option.&amp;nbsp; In theory, if I build these both
   around the the MSBuild tool, I should be able to have similar build processes in both
   environments.
&lt;/p&gt;
&lt;p&gt;
   What experiences have you had with continuous integration or similar technologies?
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.efficientcoder.net/aggbug.ashx?id=7f529d2d-c1ac-455c-9cfb-4b4cccf91c6d" /&gt;</description>
      <comments>http://www.efficientcoder.net/CommentView,guid,7f529d2d-c1ac-455c-9cfb-4b4cccf91c6d.aspx</comments>
      <category>TFS;Continuous Integration</category>
    </item>
  </channel>
</rss>