[English version of this article]
In unseren Projekten, vor allem bei Kunden mit Schwerpunkt auf Produktentwicklungen ist ein wesentlicher Teil der Arbeit die Migration und Optimierung von Buildprozessen. Buildprozesse besitzen 3 wesentlich Eigenschaften, die aufgrund des Nutzens die anfallenden Kosten rechtfertigen:
- Buildprozesse sind implizit geschäftskritische Prozesse – nur ein funktionierender Build resultiert in einem auslieferbaren Produkt.
- Stark heterogene Buildprozesse erforden einen hohen – meist versteckten Wartungsaufwand ohne direkten Nutzen. Kleine Änderungen an “den Skripten” dauern lange und involvieren zu viele qualifizierte Ressourcen.
- Buildprozesse erfordern häufig manuelle Schritte, die sich aber mit modernen Tools automatisieren lassen. Das spart Kosten!
Dieser Beitrag stellt die neue, kostenlose Build Suite 2010 der AIT vor. Damit lassen sich komplexe Buildprozesse auf Basis des Microsoft Visual Studio Team Foundation Server 2010 einfach und parametrisierbar umsetzen.
Release Management
Ein wesentlicher Bestandteil der Build Suite ist das Release Management. Im Standardbuildprozess erfolgt die Assoziierung von Codeänderungen (Changesets) und Arbeitsaufgaben (Work Items) anhand des Buildstatus. So werden zu einem Build alle Änderungen zugewiesen, die seit dem letzten erfolgreich kompilierten Build in den Branch eingeflossen sind (siehe Abbildung 1).
Abbildung 1 – Buildassoziation von Changesets und Work Items
Das reicht aber nicht aus. Abbildung 1 zeigt das veränderte Verhalten unter Einsatz der AIT Build Suite 2010. Dabei lässt sich zusätzlich die Buildqualität (siehe Abbildung 2) nutzen, um die Änderungsverfolgung zu gewährleisten. So lassen sich also Änderungen zwischen der aktuellen und zuletzt ausgelieferten Version tracken.
Abbildung 2 – Buildbericht
Versionierung
Bei der Erstellung einer Produktversion ist es wichtig auch die Versionsnummer entsprechend im Produkt nachvollziehbar zu integieren. Spätestens bei einem Anruf des Kunden aufgrund von Fragen oder gar Problemen zum und mit dem Produkt muss die Versionsinformation schnell greifbar sein. Dazu bietet zum einen die .NET-Plattform über die Assembly-Information Möglichkeiten, zum anderen ist es günstig, die Version auch in einem für den Benutzer zugänglichen About-Dialog anzuzeigen.
Mit der AIT Build Suite ist auch dies möglich. So lässt sich mit wenigen Handgriffen die Buildversion in den Assemblies hinterlegen.
Abbildung 3 – Die in den Assembly-Informationen hinterlegten Versionsinformationen werden im About-Dialog dargestellt (Beispiel: WordToTFS)
Upgrade
Im Team Foundation Servers 2008 wurden die Buildprozesse noch zentral über MSBuild abgearbeitet. Mit der neuen Version 2010 findet ein Paradigmenwechsel hin zur Workflow Foundation statt. Im Kern wird für die Kompilierung aber weiterhin MSBuild (in der neuen Version 4.0) verwendet. Die bestehenden Buildskripte des TFS 2008 lassen sich nicht Out-of-the-box mit 2010 verwenden. Ein von Microsoft mitgeliefertes UpgradeTemplate soll die einfache Integration ermöglichen. Bei genauerem Hinsehen reicht dies aber nicht aus. Lediglich der zentrale Kompilierungsvorgang wird ausgeführt, alle angepassten Targets, die vor und nach der Kompilierung wesentliche Aufgaben erfüllen werden nicht mehr instrumentiert. Abhilfe schafft auch hier die AIT Build Suite 2010. Das mitgelieferte Template enthält die von 2008 gewohnten Erweiterungspunkte wie z.B. AfterGet, BeforeCompile usw.. Dies ermöglicht einen reibungsloseren Übergang auf TFS 2010 im Buildbereich.
Code-Dokumentation
Unsere Kunden sind seit den AIT Build Tasks 2008 gewohnt, dass auch Ihre Sandcastle-Projekte für die automatische Erstellung von Code-Dokumentation mit in den zentralen Build eingebunden werden können. Auch hier haben wir nachgelegt und bieten diese Funktion auch in der AIT Build Suite 2010 an.
Fazit
Die AIT Build Suite 2010 bringt Sie elegant einen Schritt in Richtung unternehmensweit einheitlicher Buildprozesse, die dennoch die team-spezifischen Eigenheiten der Projekte respektiert. Laden Sie noch heute Ihre Version der Build Suite 2010 kostenlos von unserer Tools & Downloadsseite. Nach kurzer Anmeldung haben Sie zudem Zugriff auf weitere Tools des AIT TeamSystemPro Team – wie z.B. der Work-Item-Integration in Microsoft Office Word 2007.