Continuous Integration mit TeamCity
Build Server nehmen Entwicklern beim täglichen Kampf mit dem nächsten Software-Build viel manuelle Arbeit ab. Gerade im Bereich der Continuous Integration leisten Tools wie TeamCity gute Arbeit.
- Dr. Fabian Deitelhoff
Build Server nehmen Entwicklern beim täglichen Kampf mit dem nächsten Software-Build viel manuelle Arbeit ab. Gerade im Bereich der Continuous Integration leisten Tools wie TeamCity gute Arbeit.
Konkret bezeichnet Hersteller JetBrains TeamCity als Continuous-Integration- und -Deployment-Server. Dazu gehört in der Regel aber auch ein umfangreich konfigurierter Build-Prozess. Ohne einen regelmäßig aktualisierten Software-Build lassen sich nämlich die von vielen Entwicklern durchgeführten Änderungen nicht in die Code-Basis integrieren. Die Bezeichnung eines Build-Servers ist also bei TeamCity nicht weit hergeholt.
Die ständige Integration, also Continuous Integration, ist ein Herzstück des Werkzeugs. Statt relativ selten, nämlich meist erst kurz vor einer Deadline, den eigenen Code in die Software zu integrieren, soll das so häufig wie möglich passieren. Denn für die Softwarequalität ist es entscheidend, Änderungen möglichst oft einzuspielen, um deren Funktionsweise, aber auch die Auswirkungen auf andere Funktionen zu testen. Den Grundsätzen der Continuous Integration wie gemeinsame Codebasis, automatisierter Build, häufige Integration in die bestehende Codebasis und automatisierte Verteilung, kommt TeamCity sehr gut nach.
Lizenzierung und Installation
Da TeamCity nicht nur bekannt, sondern als Build-Server auch beliebt ist, gibt es recht häufige Updates. Grundlage des Artikels ist die Version 9.1.5 (Build 37377). Das Testprojekt wurde mit .NET 4.6.1 unter Visual Studio 2015 erstellt. Diese Version ist sicherer und enthält unter anderem eine verbesserte Unterstützung für .NET-Tools sowie Verbesserungen an UI und Usability.
Erfreulich ist, dass TeamCity im vollen Funktionsumfang kostenlos zur Verfügung steht. Die sogenannte Professional-Server-Lizenz ist dahingehend eingeschränkt, dass sich lediglich drei Build-Agenten und maximal 20 aktive Build-Konfigurationen betreiben lassen. Die Produktfunktionen an sich sind aber nicht begrenzt. Maximal drei Build-Agenten bedeutet, dass maximal drei Build-Vorgänge gleichzeitig laufen können.
Umfangreichere Anforderungen lassen sich auf zwei Arten umsetzen. Zum einen ist es möglich, einen weiteren Build-Agenten und zehn zusätzliche Build-Konfigurationen zu kaufen. Durch dieses Paket, das man auch mehrfach erwerben kann, lässt sich die kostenfreie Version schrittweise erweitern. Des Weiteren stehen mit der Enterprise Server License leistungsfähige Angebote in unterschiedlichen Ausführungen bereit.
TeamCity lässt sich mit den Betriebssystemen Windows, OS X und Linux nutzen, für die jeweils ein eigener Download bereitsteht. Unter Windows ist es klassischerweise eine ausführbare Datei, die über einen Wizard durch den Installationsprozess leitet. Abbildung 1 zeigt einen Screenshot aus der Installation. Die Auswahl der Komponenten erlaubt es, den TeamCity-Server und den Build-Agenten auf getrennten Systemen zu installieren. Somit sind auch Remote-Agenten möglich, um die eigentliche Arbeit eines Builds auf weitere Maschinen zu verteilen.