Continuous Integration oder kurz CI dürfte wohl den meisten Entwicklern ein Begriff sein. Grade erst habe ich einen Artikel in einem bekannten deutschen Entwicklermagazin über die Vorteile von CI gelesen. Allerdings dürfte es für die meisten von uns nicht ganz einfach sein, mal eben so eine Build Umgebung und einen CI Prozess aufzusetzen.
So wie ich das einschätze wird wohl der Großteil der .Net Entwickler die CI einsetzen auf einen Team Foundation Server zurückgreifen. Wobei alles schon schön fertig konfiguriert irgendwo in der Ecke rum steht.
Aber leider hat man nicht immer einen TFS zur Verfügung oder aber das Budget dafür steht nicht zur Verfügung. Vor allem bei privaten oder Open Source Projekten wird dies der Fall sein.
Um mich selber etwas tiefer in die Materie einzuarbeiten und vielleicht dem einen oder anderen nützliche Informationen zu diesem Thema zu liefern, habe ich mich entschlossen eine Artikelreihe über das Thema zu schreiben.
Innerhalb der Artikelserie soll der komplette Build / CI Prozess mit einer “realen” Anwendung durchlaufen werden. Hierbei habe ich mich für den ASP.Net MVC Music Store entschieden. Dieser soll noch durch Unit Tests ergänzt werden. Der gesamte Prozess soll nur mit freien bzw. Open Source Tools umgesetzt werden.
In den jeweiligen Artikeln sollen die folgenden Schritte / Themen durchlaufen werden:
- Installation / Konfiguration von CruiseControl.Net
- Checkout / Subversion
- Kompilieren
- Unit Tests mit mbunit
- Testabdeckung / Code Coverage
- Code- / Assemblyanalyse mit FxCop und StyleCop
- Dokumentationserstellung
- Deployment
- Integration Build
- Nightly Build
- Release Build
Den gesamten Quellcode sowie alle notwendigen Build Skripte werde ich im laufe der Artikelserie unter http://cisample.codeplex.com/ zur Verfügung stellen.