Sprache:
Suchen
HomeSitemapDatenschutzImpressumAGB

AIT TeamSystemPro Build Package v2.0

Einleitung

Der Team Foundation Server verfügt über ein Build System, mit dem sich benutzerdefinierte Build-Prozesse modellieren lassen. Im Rahmen des Build-Prozesses gilt es häufig, weitere Teilschritte auszuführen, die nicht mit den Bordmitteln abgedeckt werden können. Das AIT Build Tasks Package stellt dazu eine Reihe von Tasks und Scripts zur Verfügung, die innerhalb von MSBuild eingesetzt werden können.

Das AIT TeamSystemPro Build Package besteht aus zwei Teilen.
Der erste Teil sind AIT Target Dateien. Diese enthalten Standardabläufe, die direkt in den Build integriert werden können. Ein Beispiel ist die Generierung der Dokumentation auf der Basis von Sandcastle.

Der zweite Teil sind die Build Tasks, die direkt in den Build Prozess eingebunden werden können. Ein Beispiel für einen möglichen Build Task ist der SharePointUpload Task. Dieser erlaubt das Hochladen von Dateien in eine SharePoint Doc Library.

1. AIT Target Dateien:

Notifications

Im Rahmen des Buildprozesses kompiliert das System die Quellcode-Dateien und führt die definierten Tests aus. Wenn bei der Ausführung des Buildprozesses ein Fehler auftritt, erhalten die Entwickler kein unmittelbares Feedback über einen Buildfehler. Nach dem Einbinden des Notifikation-Skriptes versendet das System E-Mails, wenn beim Kompilieren oder beim Testen ein Fehler aufgetreten ist. Nach der Behebung des Fehlers erhalten alle Beteiligten eine E-Mail, die sie darüber informiert, dass der Build wieder funktioniert.
Die Empfänger der E-Mail sind dabei nicht statisch hinterlegt. Die beteiligten Benutzer können dabei auf Basis der Changesets ermittelt werden. Es erhalten alle User eine E-Mail, die seit dem letzten erfolgreichen Build ein Check-in ausgeführt haben.

Build Numbers

Ein essentieller Bestandteil des Buildprozesses ist das Kompilieren der Assemblies und die Bereitstellung eines Paketes. Beim Kompilieren selbst geht die Traceability zwischen den Assemblies und der Quellcodedateien aus der Versionsverwaltung verloren. Mit diesem Skript kann die Brücke zwischen Buildprozess und der Konfiguration aus der Versionsverwaltung geschlagen werden.

Das Skript tauscht dazu den Wert der AssemblyDescription durch den Namen und die Build-Nummer des aktuellen Builds aus. Der Compiler wertet die Einträge der AssemblyInfo.cs aus und fügt diese in das finale Assembly ein. Mithilfe der Reflections API können diese Informationen anschließend zur Laufzeit des Programmes ausgelesen werden. Die Werte lassen sich beispielsweise in einer „About Box“ darstellen. Dadurch lässt sich die Traceability zwischen den ausgelieferten Assemblies und der Konfiguration in der Versionsverwaltung sicherstellen.

Change Notes

Ein Thema im Rahmen des Release-Managements ist die Erstellung der Patch / Release Notes. Darin gilt es, alle Änderungen zu protokollieren, die in das System eingeflossen sind. Als Grundlage dienen hierbei die Work Items, die mit dem Quellcode verknüpft wurden.

Das Skript extrahiert dazu alle Work Items, die mit dem aktuellen Build verknüpft sind, in eine XML-Datei. Die Datei kann anschließend als Grundlage für verschiedene XSL-Transformationen dienen. Daraus lassen sich beispielsweise die Patch Notes im HTML-Format konvertieren, um sie anschließend auf der Website des Produkts zu publizieren.

Über das Build Quality Flag wird gesteuert, welche Work Items und Changesets mit dem Build zu verknüpfen sind. Die benötigte Build Quality kann dabei mittels einer Property definiert werden. Im Rahmen des Buildprozesses wird dazu der letzte Build gesucht, der die benötigte Qualität erreicht hat. Dieser Build dient anschließend als Referenz für die Erstellung der Release Notes.

Sandcastle

Im Umfeld der .NET Sprachen kann die Dokumentation direkt im Quellcode des Programmes vorgenommen werden. Für die Dokumentation stellen die Sprachen eine definierte Syntax zur Verfügung. Der Compiler exportiert diese Dokumentation anschließend in eine XML-Datei.

Um die XML-Dateien in eine Form umzuwandeln, die vom Menschen einfach zu lesen ist, steht Sandcastle zur Verfügung. Sandcastle wertet die exportierten XML-Dateien aus und generiert daraus eine Dokumentation im HTML Format. Sandcastle besteht aus einer Reihe von XSL Transformationen und Kommandozeilenwerkzeugen, die in einer definierten Reihenfolge ausgeführt werden müssen.

Für die Generierung der Dokumentation gilt es, verschiedene Parameter zu setzen und anschließend die einzelnen Schritte für die Generierung der Dokumentation auszuführen. Der Ablauf für die Generierung ist in dem Script bereits hinterlegt. Standardmäßig sind bereits die Parameter gesetzt, die für die Generierung eines Standard Release Builds von Nöten sind.

2. Build Tasks:

Task Beschreibung
ClickOnceVersion Mit diesem Task können die Versionsinformationen eines Click Once-Projekts aktualisiert werden.
DumpWorkItems Ermöglicht das Exportieren von Work Items in eine XML-Datei. Die XML-Datei kann anschließend als Grundlage für die Release Notes dienen.
ExecSSISPackage Mit diesem Task können SSIS Pakete im Rahmen von MSBuild ausgeführt werden.
FindLastGoodBuildTask Ermöglicht das Setzen der LastGoodBuildLabel Property innerhalb des Buildprozesses. Das Suchen des Labels kann über das „Build Quality Flag“ gesteuert werden.
LatestBranch Ermittelt den neuesten Branch einer Datei oder eines Verzeichnisses innerhalb der TFS Versionsverwaltung.
NotifyBuildFailed Ermittelt alle Personen, die eine Änderung am Quelltext vorgenommen haben, und sendet ihnen eine E-Mail.
NotifyBuildSucceed Benachrichtigt alle Personen, die an dem letzten Build-Fehler beteiligt waren, dass der Build-Prozess wieder ordnungsgemäß läuft.
PrepareRSMMetrics Extrahiert die „Quality Notice“ Knoten von den RSM (Ressource Standard Metrics) Metriken und fügt diese in ein neues Dokument ein. Das Ergebnis kann durch den Warehouse Adapter ausgelesen werden (AIT Report Package)
PrepareStyleCopMetrics Extrahiert Qualitätsinformationen aus dem StyleCop-Ergebnis und fügt diese in ein neues Dokument ein. Das Ergebnis kann von den Warehouse Adapter ausgelesen werden (AIT Report Package)
SharePointUpload Erlaubt das Hochladen von Dokumenten in eine Microsoft Sharepoint „Document Library“
VersionNumbers Mit diesem Task können neue und einzigartige Versionsnummern generiert werden. Die Generierung basiert dabei auf der $(BuildUri) oder der $(VersionSpec) Property. Dadurch kann die Traceability zwischen den Assemblies und einer spezifischen Konfiguration in der Versionsverwaltung hergestellt werden.
VislocTranslateTask Erlaubt die Übersetzung von Assemblies mithilfe von Visual Localize. Der Task bezieht die Visual Localize-Projektdatei von einem Microsoft SharePoint Server. Nach Abschluss der Übersetzung lädt der Task die Projektdatei wieder auf den SharePoint.

Login

Um die Datei downloaden zu können, müssen Sie sich hier einloggen

Registrieren

Falls Sie noch keinen Login besitzen können Sie sich hier kostenfrei registrieren.