Der Team Foundation Server (TFS) besitzt erstmals in der Version 2013 mit Release Management for Visual Studio eine integrierte Lösung für Continuous Delivery. Allerdings ist es nach der Installation des Release Management Servers nicht ohne manuelle Anpassungen möglich, das automatische Deployement während eines Team Builds auszuführen. Wir haben die Lösung für Sie.
Nach der Installation des Release Management Servers stellt man beim Konfigurieren eines Team Builds anhand des Dateinamens fest, dass das mitgelieferte Build Process Template auf dem Template des Team Foundation Servers 2012 Update 1 basiert (1). Der Abschnitt Release ist hingegen neu und für den Aufruf von Release Management entscheidend (2). Ist der Parameter Release Build auf True gesetzt, erfolgt der Aufruf von Release Management während des Team Builds. Der optionale Parameter Configuration to Release ermöglicht es verschiedene Konfigurationen des Projektes anzugeben, ähnlich wie bei Items to Build bisher (3). Der letzte Parameter Release Target Stage kann für eine spezielle Umgebung verwendet werden, so dass nicht die vollständige Deployment Pipeline durchlaufen wird. Ist der Parameter leer, wird die komplette Pipeline absolviert.
Abbildung 1: Standard Build Process Template für Release Management (auf Basis des TFS 2012)
Im Vergleich dazu sind im neuen Standard Build Process Template (für TFVC) des Team Foundation Servers 2013 die Build Process Parameter neu kategorisiert und sortiert (siehe Abbildung 2). Das Build Process Template selbst wurde komprimiert beziehungsweise wurden Aktivitäten, die früher separat ausgeführt wurden, zu einer Aktivtät zusammengefasst. Außerdem können nun in der Build Definition Skripte (z. B. PowerShell) vor und nach dem Build– und Test-Schritt ausgeführt werden. Insgesamt ist das Template übersichtlicher geworden und Anpassungen fallen leichter. Einen ausführlichen Überblick über die Neuerungen im Build Process Template des TFS 2013 hat Nico Orschel bereits in einem separaten Blogbeitrag vorgestellt.
Abbildung 2: Standard Build Process Template des TFS 2013 (ohne Integration von Release Management)
Allerdings fällt sofort auf, dass es keinen Abschnitt für das Release Management enthält (wie in Abbildung 1). Damit man nun das neue, verschlankte Build Process Template des Team Foundation Servers 2013 und gleichzeitig Release Management for Visual Studio im Team Build nutzen kann, müssen die entsprechenden Passagen aus dem Template ReleaseDefaultTemplate.11.1.xaml in das Template TfvcTemplate.12.xaml übertragen werden. So dass danach die notwendigen Parameter für Release Management konfigurierbar sind (siehe Abbildung 3).
Abbildung 3: Erweitertes Build Process Template des TFS 2013 (mit Integration von Release Management)
Wir haben diese Anpassungen bereits für die Standard Build Process Templates beider Versionskontrollsysteme TFVC und Git durchgeführt und möchten Ihnen diese hiermit zur Verfügung stellen.
- Build Process Template für TFVC: ReleaseTfvcTemplate.12.xaml
- Build Process Template für Git: ReleaseGitTemplate.12.xaml
Im Visual Studio Blog wird erläutert, welche einzelnen Bausteine in ein bereits existierendes Build Process Template integriert werden müssen.