Calgary Code Camp -- Taking CI to the Next Level

Yesterday I was at Calgary Code Camp to present on Taking Continuous Integration to the Next Level.  James, Bill and group ran a remarkably smooth and organized event.  The venue was fantastic and, from a speakers perspective, the equipment and rooms were easy to work with and in.  I’m not sure what the final attendance figures were, but the rooms had a vibrant and energetic feel from the attendees.

I was slotted up in the last presentation block of the day.  I had a good group of attendees who, although quiet, did ask some good leading questions.  It was the first time I’d presented on this topic and the response I heard after was that the topic was a good one and the content was useful.  Here’s a brief synopsis of the content.

  1. ReSharper makes working with your nAnt build scripts much easier than the traditional notepad approach to editing.
  2. CCNetConfig can help you setup your CruiseControl.NET server without the hassle of notepad XML editing or knowledge of the configuration file structure.
  3. CruiseControl.NET’s Iteration labeler is very useful when working in agile sprints or iterations.
  4. nCoverExplorer and nCoverRunner make integration into CruiseControl.NET seamless and effortless.
  5. The nAntContrib project provides a bunch of extra nAnt tasks, including CodeStats, for your building pleasure.
  6. CruiseControl.NET’s dashboard.config file allows for customization and extension of the CruiseControl.NET build website.
  7. Utilizing the functions provided with nAnt, along with some thoughtful solution structuring, can make it very easy to limit the execution of tests suites when changes haven’t been made.
  8. nAnt provides great functionality in the area of creating AssemblyInfo.cs files.
  9. nAnt allows for the use of inline C# code functions which can be useful for specialized build steps.
  10. CruiseControl.NET can be used for more than just building your executables and assemblies.  Consider it for automating your deployment tasks as well.

Here’s the link to the deliverables from my presentation (4mb).  Note that you will need to install version 1.2.1 of CruiseControl.NET to use the ccnet.config and dashboard.config files.  I’ve also included the xsl file that will do a simple summary transformation of the codestats output.