Visual Studio Online (VSO) stellt bis auf wenige Ausnahmen (SharePoint Integration, Reporting, Template Anpassung, etc.) die gleichen Funktionen wie ein im lokalen Intranet installierter TFS zur Verfügung. Für MSDN Abonnenten ist dieser Dienst sogar im vollem Funktionsumfang kostenlos. Das Paket enthält neben der Quellcode- und Aufgabenverwaltung dabei unter anderem auch monatlich 60 Server-Minuten, die für Build-Prozesse genutzt werden können.
Die Freiminuten sind schnell verbraucht. Jede weiter Build-Minute wird mit 0,05 $ veranschlagt. Dies summiert sich sehr schnell. In einem kleinen Projekt mit 10 Builds pro Arbeitstagtag a 10 Minuten auf monatlich immerhin rund 60 €. Aus Continuous Integration, was quasi zu einem fortlaufenden Erstellen des Projekts auf dem Server führt, wird dann schnell ein Kostenfaktor. Visual Studio Online sieht die Erweiterbarkeit durch eigene Build -Server vor. Diese können lokal im Unternehmen oder auch unter Windows Azure gehostet werden.
Für die meisten Build-Prozesse ist eine kleine virtuelle Maschine mit 1,7 GB RAM und einem Kern unter Windows Azure völlig ausreichend. Diese Konfiguration schlägt mit rund 50 € pro Monat im 24h-Betrieb zu buche. Theoretisch lassen sich über das Freikontingent damit pro Entwickler bis zu zwei Build-Server hosten. Endlose Build-Queues gehören damit endgültig der Vergangenheit an.
Die Einrichtung gestaltet sich dabei sehr einfach. Für die vollständige Einrichtung benötigt man in etwa eine Stunde.
Im ersten Schritt ist es sinnvoll eine Affinitätsgruppe im Windows Azure Management Portal anzulegen. Dies ermöglicht es, alle Build-Server sowie deren zugeordneten Blob-Speicher, in einem Rechenzentrum zu gruppieren. Ein Datenaustausch untereinander (z. B. beim Einsatz eines TFS-Proxies) sowie die Publizierung eines Cloud Dienstes geht durch die kurzen Wege dann schneller vonstatten.
Die Affinitätsgruppe wird einer Region zugeordnet. Visual Studio Online wird aktuell in Chicago (USA Mitte/Norden) gehostet. Eine Auswahl dieser Region ist in MSDN Accounts leider nicht möglich. Aus diesem Grund empfiehlt es sich die Region zu wählen in der später Cloud Dienste gehostet oder Daten abgelegt werden.
Im nächsten Schritt legt man ein Speicherkonto, an in dem das Image der virtuellen Maschine gespeichert wird.
Dieses kann ebenfalls automatisch beim Erstellen der virtuellen Maschine erzeugt werden. Der manuelle Zwischenschritt ermöglicht die Vergabe eines sprechenden Namens. Dieser muss global eindeutig sein. Die Verwendung des Namens des Unternehmens als Präfix hat sich bewährt. Die zuvor erstellte Affinitätsgruppe wird zugewiesen. Eine lokal redundante Replikation der Daten ist für einen Build-Server völlig ausreichend und damit kostengünstig.
Nun kann die eigentliche Build-Server Instanz erstellt werden.
Ein vorgefertigtes Template wird dabei aus aus einem Katalog ausgewählt.
Als Basis für einen Build-Server empfiehlt sich das Template Visual Studio Ultimate 2013 Update 2. In Abhängigkeit der zur Verfügung stehenden MSDN Lizenz entweder in der Ausprägung Professional, Premium oder Ultimate. Die entsprechende Visual Studio Version ist hier bereits vorinstalliert.
Werden für die Build-Prozesse noch ältere Visual Studio Versionen benötigt muss mit einem frischem Windows 7 oder Windows Server 2012 Template gestartet werden.
Der Name des Build-Servers muss wiederum global eindeutig sein. Der zu vergebende Nutzername und dessen Passwort werden für den späteren Aufbau einer Remote Desktop Verbindung benötigt. Da der Rechner aus dem gesamten Internet erreichbar ist, sollten hier sowohl für den Nutzernamen auch als das Passwort keine trivialen Begriffe verwendet werden.
Die erstellte Affinitätsgruppe und das Speicherkonto werden entsprechend zugewiesen.
Die Bereitstellung der virtuellen Maschine dauert in etwa 5 Minuten.
Danach kann durch einen Klick auf Verbinden eine Remote Desktop Verbindung aufgebaut werden.
Eine entsprechende RDP-Datei, die die Verbindungsinformation enthält, wird hierzu heruntergeladen und geöffnet.
Auf dem System ist ein Visual Studio 2013 bereits installiert. Ein Build-Server muss nun noch ergänzt werden. Hierzu ruft man auf dem Server die MSDN Subscription Seite auf und wählt am einfachsten den Visual Studio Team Foundation Server 2013 with Update 2 Web Installer aus.
Nach der Installation, welche in etwa 20 Minuten beansprucht, kann der Build-Server konfiguriert werden.
Hierzu wird im ersten Schritt die Verbindung zum Visual Studio Online Account hergestellt.
Ein Login mit einem dem VSO-Account zugeordneten administrativen Account ist hierfür erforderlich.
Entsprechend der vorhandenen Kerne im System wird eine Anzahl zu konfigurierender Build-Agents vorgeschlagen. Bei einer kleinen Windows Azure Instanz ist dies dementsprechend nur einer.
Das Konto mit dem der Build-Service auf das Visual Studio Online Konto später im Betrieb zugreifen wird (Account Service), wird automatisch abgerufen. Der Dienst selbst kann unter dem Lokalen System Konto laufen.
Nach wenigen Sekunden ist der Build-Service eingerichtet.
Er steht direkt im Anschluss im Visual Studio in der Build -Definition zur Auswahl zur Verfügung.
Bei Bedarf können nun auf dem Build-Server weitere benötigte Komponenten wie z.B. Style Cop oder Sandcastle installiert werden.
Weitere Build-Server lassen sich nach dem gleichen Schema ergänzen. Eine kleine Visual Studio Online Build-Farm kann damit quasi zum Nulltarif aufgebaut werden. Eine lohnenswerte Verwendung des MSDN Azure Freikontingents.