Der TFS 2013 wird erstmals eine Softwarelösung für Continuous Delivery beinhalten. Bisher gab es neben InRelease nur die Möglichkeit mit manuellen Arbeitsschritten oder speziell entwickelten Tools Softwarepakete auszuliefern. Nach der Akquise der InRelease-Abteilung von InCycle durch Microsoft, erfolgte bereits die erste Integration von InRelease in den TFS.
Mit InRelease ist es möglich verschiedene Softwarepakete automatisch auf mehrere Zielsysteme in unterschiedlichen Umgebungen zu verteilen. Des Weiteren können die verschiedenen Konfigurationsdaten mit Hilfe von InRelease zentral verwaltet und konfiguriert werden. Das Deployment durchläuft dabei folgende Toolkette:
Der InRelease Server (1) besteht aus einer separaten Datenbank für die Konfigurationsdaten, dem Workflow Controller und einem Dispatcher um anstehende Aufgaben mit den Zielsystemen zu synchronisieren. Die Konfiguration erfolgt über den InRelease Client (2), welcher derzeit als WPF-Anwendung zur Verfügung steht. Eine Web-Variante wird später folgen, so auch für den Team Foundation Service in der Cloud. Auf jedem Zielsystem ruft der InRelease Deployer (3) bei Bedarf eine neue Version der Softwarepakete ab. Schließlich werden verschiedene Deployer Tools (4) mitgeliefert, die einfache Kopieroperationen übernehmen oder Reports für Microsoft SQL Server Reporting Service (SSRS) bereitstellen. Zusätzlich können weitere Tools integriert werden, vorausgesetzt sie können als Prozess gestartet werden.
Diese Toolkette kann bereits mit der vorkonfigurierten virtuellen Maschine (siehe Visual Studio 2013 Application Lifecycle Management Virtual Machine and Hands-on-Labs / Demo Scripts) von Brian Keller schnell und mit wenig Aufwand ausprobiert werden. Darüber hinaus gibt es auch ein dazugehöriges Hands-on-Lab im gleichen Blog-Beitrag.
Fazit
Zusammenfassend lohnt sich ein Blick auf InRelease für diejenigen, die ihre Softwarepakete automatisch verteilen wollen. Da mit der InRelease Integration eine solide und anpassbare Basis geschaffen wurde, kann der Aufwand zur Realisierung von Continuous Delivery erheblich verringert werden.