TFS Funktionen vereinfacht und erweitert mit dem TFS ASAP
Zur Entkopplung einer Implementierung von voneinander unabhängigen Komponenten und deren Anforderungen bietet sich der Einsatz von Feature Branches an. Erst nachdem auf diesen eine gewisse Stabilität erreicht ist werden die Quellcodeänderungen in den Main Branch übertragen.
Das Anlegen eines Feature Branches ist unkompliziert und abhängig von der Menge des Quellcodes in der Regel nur eine Sache von Sekunden.
Zur Überprüfung der Quellcodequalität hinsichtlich Kompilierbarkeit, Lauffähigkeit von Tests und der Einhaltung der Code Analyse Regeln ist es sinnvoll einen zusätzlichen kontinuierlichen Buildprozess für den Branch einzurichten. Dieser führt nach jedem Eincheckvorgang automatisch eine Qualitätskontrolle durch. Die Einrichtung dessen benötigt schon ein paar Minuten – zumindest ohne den TFS ASAP.
Für das Anlegen des Prozesses bietet sich das Klonen eines Bestehenden an. Hierzu sind entsprechende Rechte notwendig.
Im Anschluss müssen eine Reihe von Einstellungen angepasst werden. Hierzu gehören unter anderem folgende:
– Name (entsprechend den Konventionen)
– Trigger (Rolling builds)
– Source Settings
– Projekte, die kompiliert werden sollen
– Test Categories, Symbol Server Settings, Retention Policy, …
Schnell werden hierbei einzelne Parameter vergessen. Der erste Build eines neuen Feature Branches geht deshalb quasi immer schief.
Dieser etwas komplizierte und vor allem fehleranfällige Schritt kann durch den Einsatz der TFS Automated Servicing & Administration Platform automatisiert werden.
Hierzu wird in das Verzeichnis unterhalb dessen die Feature Branches erstellt werden eine Konfigurationsdatei eingecheckt.
In dieser werden das zu verwendende Template sowie abweichende Einstellungen definiert.
Für alle Branches, die im Anschluss unterhalb des Verzeichnisses angelegt werden, wird automatisch serverseitig im Hintergrund ein passender Buildprozess eingerichtet. Damit ist das Anlegen eines Feature Branches mit zugehörigem Buildprozess genauso schnell und einfach wie das bisherige Anlegen eines Branches ohne einen Buildprozess der fortlaufend die Qualität überprüft.
Darüber hinaus wird die Builddefinition erzeugt auch wenn der Benutzer nicht über die notwendigen Rechte verfügt. Eine Aufweichung des Rechtekonzeptes wird hierdurch vermieden.
Eine kleine TFS Erweiterung durch den TFS ASAP mit großer Wirkung!