Sanity check
Two development centers, unit tests that are actually integration tests, which depend on a complex distributed architecture that is far from bullet proof itself, two sets of test systems, two sets of test scripts running the same set of tests, test result reporting in the format of XML files, build process notifications via email, comparing test results manually, failing tests being ignored for weeks, builds breaking, and breaking and breaking… Does this sound familiar? For your sanity sake, I hope not. Continuous Integration CI is the remedy for the software production chaos. This blog post is a starting point into a new software live.
The idea
Reading Martin Fowler’s article about Continuous Integration is the best way to get familiar with the idea.
The tools
Continuous Integration has its foundation in automation. That includes compilation, tests and analytics, packaging, staging and deployment. It doesn’t have to be all of theses steps and in most cases it is compilation, tests and analytics. Here is a list of tools that you would need:
Must have
TeamCity – Continuous Integration Server
Visual Studio 2010 – Integrated Development Environment
VisualSVN – Visual Studio source control integration with SubVersion
Nant – Build scripting runtime
NUnit – .NET unit testing framework
NCover – Code coverage analyzing and reporting tool
ReSharper – Visual Studio coding assistant.
FxCop – Coding style analyzer is part of the Windows SDK
PowerShell – Windows automation environment. Ships on board of Windows 7 and Windows 2008 R2 and can be downloaded here for other versions of Windows.
Optional
Tree Surgeon – A little bit out dated, but a good start for getting started with automated builds.
MySQL – Use this if you want your TeamCity server run off a “real” database.
Note: MySQL can be installed and configured by the click of a button, if you are using the Web Platform Installer and select to install WordPress.
The learning resources
Screen casts
The quickest way to get started is to watch some of the DimeCasts.Net web casts. I recommend to start with the Nant ones, if you are new to build automation and build scripts. They tie straight into the screen casts that talk about TeamCity.
Note: There are many great 10 minute screencasts about .NET development on their site. Here is a link to their archive.
Building a Nant Script -- Part 1: Setting up the script
Building a Nant Script -- Part 2: Adding NUnit tests
Building a Nant Script -- Part 3: Adding Code Coverage w/ NCover
Read more: Tellingmachine
0 comments:
Post a Comment