© DrHitch/Shutterstock.com
TFS 2012 Team Build

4 Fallstudie: Anpassung des Team Build Workflows


Der Ablauf eines Builds ist über die Prozessparameter bereits flexibel steuerbar. Aber es gibt immer Anforderungen, an die im Vorfeld niemand denkt, auch nicht Microsoft. Die einfachste Option, die dann zu Gebote steht, ist ein Griff in den umfangreichen Werkzeugkasten der Work Flow Foundation und der zusätzlichen speziellen Team-Build-Aktivitäten. Aus diesen Bausteinen kann man den Workflow den eigenen Wünschen anpassen.

Um einen Eindruck davon zu gewinnen, was möglich ist und wie es gemacht wird, soll der vorhandene Workflow um die Möglichkeit erweitert werden, mehr als eine Drop Location anzugeben. Das kann hilfreich sein, wenn die Komponenten noch von der QA-Abteilung und zur Erstellung eines nächtlichen Setups an unterschiedlichen Stellen benötigt werden, oder direkt ein Testrechner aktualisiert werden soll.

4.1 Build-Definition und Arbeitskopie des Workflows anlegen

Es ist empfehlenswert, den bestehenden Standard-Workflow, bestehend aus der Datei DefaultTemplate.11.1.xaml als Ausgangspunkt für eigene Workflows zu verwenden. Natürlich kann man auf der grünen Wiese anfangen, häufig passt aber der größte Teil des Workflows, und man möchte nur etwas dazu bauen. In diesem Fall erspart man sich durch die Verwendung der bestehenden Strukturen eine Menge Arbeit.

Ebenso empfehlenswert ist es, die Datei, die den Standard-Workflow enthält, in ihrem Ursprungszustand zu belassen. Später wird es sicherlich Situationen geben, in denen man wieder nur den normalen Workflow verwenden möchte. Also erstellt man eine Kopie der Datei und checkt sie im TFS ein. Das kann man auf altmodische Art und Weise per Explorer erledigen, oder im Zuge der Anlage einer Build-Definition. Letztere Variante hat den Vorteil, dass Kopieren und in den TFS hinzufügen in einem Schritt passiert, also betrachten wir diesen Weg etwas genauer.

Zunächst legt man die Build-Definition wie gewohnt an, bis man zum Reiter Process gelangt. Dort erweitert man den Bereich Build Process Template und klickt hinter dem Kombinationsfeld auf den Knopf New…. Es öffnet sich ein Dialog, in dem man durch die erste Option eine Kopie eines bestehenden Templates erzeugen kann (Abbildung 4.1).

4_1_WorkflowCustomizing-BuilddefUndTemplateAnlegen.png

Abbildung 4.1: Workflow für Build-Definition kopieren

Im ersten Eingabefeld wird das ursprüngliche Template ausgewählt. Wer nicht schreiben möchte, kann über den Browse-Dialog bequem auswählen. Die beiden unteren Boxen sind für den Zielordner, der direkt in Form eines Quellcodeverwaltungspfades angegeben wird, und für den Dateinamen. Der Standardordner für Build Templates ist $/<TeamProjektName>/BuildProcessTemplates. Bei dem Dateinamen kann etwas Kreativität nicht schaden, damit etwas halbwegs Aussagekräftiges dabei herauskommt. Sobald man den Dialog bestätigt, erscheint der Name der neu erstellten Datei in dem Kombinationsfeld für das ausgewählte Template. Gleichzeitig ist dies dem TFS hinzugefügt worden, was sich als offene Änderung bemerkbar macht. Bevor das Template verwendet werden kann, muss es eingecheckt werden.

Hinweis: Alle Templates für eigene Workflows müssen im TFS eingecheckt sein, damit sie verwendet werden können. Lokale Änderungen werden nicht berücksichtigt, also vor jedem Test-Build die Template-Datei einchecken!

4.2 Orientierung im Workflow-Designer

Nachdem der Workflow kopiert ist, kann er per Doppelklick in Visual Studio in den Workflow-Designer geladen werden. Der normale Workflow ist bereits recht umfangreich, wie die Vogelperspektivenansicht rechts in Abbildung 4.2 bereits erkennen lässt.

4_2_WorkflowCustomizing-WorkflowDesigner.png

Abbildung 4.2: Der Workflow-Designer

Diese Miniaturansicht kann über den Knopf unten rechts im Designer eingeblendet werden. Der Knopf daneben stellt den Zoom so ein, dass zumindest die volle breite des Workflows dargestellt werden kann. Daneben lässt sich der Zoom beliebig einstellen und mittels der Lupe wieder auf 100 % zurücksetzten. Das Handsymbol aktiviert den Verschiebemodus, in dem der Workflow wie eine Landkarte mit der Maus verschoben werden kann. Ein Linksklick bewirkt in diesem Modus nicht die Selektion eines Elements. Den gleichen Effekt erhält man vorübergehend bei gedrückter mittlerer Maustaste.

In de...

Neugierig geworden? Wir haben diese Angebote für dich:

Angebote für Gewinner-Teams

Wir bieten Lizenz-Lösungen für Teams jeder Größe: Finden Sie heraus, welche Lösung am besten zu Ihnen passt.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang