TFS Funktionen vereinfacht und erweitert mit dem TFS ASAP
Mit dem Release Management for Visual Studio steht eine neue TFS-Komponente zur Verfügung um die Ergebnisse von Buildprozessen auf die Staging- oder Produktivumgebung auszurollen. Eine Realisierung von komplexen Veröffentlichungsprozessen ist, vorausgesetzt man verfügt über die neueste TFS Version, relativ unkompliziert möglich.
Aber benötigt man tatsächlich gleich eine komplexe Server Lösung wenn man nur das Ergebnis eines Buildprozesses in ein bestimmtes Verzeichnis verschieben und danach eine E-Mail versenden möchte? Muss man deshalb auf die neueste TFS Version upgraden?
Als einfache Alternative bietet sich eine schon seit der ersten TFS Version vorhandene Funktion in Verbindung mit einer Automatisierungsregel der TFS Automated Servicing & Administration Platform an.
Eine TFS Funktion, die in der Praxis kaum genutzt wird, ist die Möglichkeit Buildergebnisse mit einer „Qualität“ zu versehen.
Unter Build -> Manage Build Qualities… kann man die Auswahl entsprechend den eigenen Bedürfnissen anpassen.
Der TFS ASAP bietet die Möglichkeit über eine Automatisierungsregel auf das Setzen einer Qualität serverseitig zu reagieren.
Das Verhalten wird über eine in den Branch eingecheckte Konfigurationsdatei gesteuert.
In dieser werden zu jeder Qualität auf deren Setzen man reagieren möchte Aktionen hinterlegt.
Im Beispiel wird festgelegt das sobald die Qualität auf „Ready For Initial Test“ gesetzt wird die MSBuild Skriptdatei Deploy.targets mit dem Einsprungspunkt DeployTestVersion aufgerufen werden soll.
In der Skriptdatei stehen alle gewohnten MSBuild Kommandos mit all ihren Erweiterungen zur Verfügung. Auch komplexe Szenarien lassen sich hierdurch realisieren. Für einfache Dinge wie dem Umkopieren der Buildergebnisse auf ein Fileshare benötigt man nur wenige Zeilen.
Alle Dateien stehen dabei unter Versionskontrolle. Sollte ein früheres Release noch einmal bereitgestellt werden müssen, kommen automatisch auch die dazugehörenden Skripte zur Anwendung.
Eine kleine TFS-Erweiterung durch den TFS ASAP mit großer Wirkung, die in vielen Fällen die Installation der Release Komponente erspart.