Automatisierter Build-Prozess

Was versteht man unter einem Build-Prozess?

Unter dem Begriff Build-Prozess werden alle Aktivitäten zusammengefasst, die für die Produktion und Bereitstellung von lauffähiger Software notwendig sind. Dazu gehört das Kompilieren des gesamten Systems, das Testen der erstellten Software, das Einrichten der Datenbank, die Migration bestehender Daten, das Erstellen der Dokumentation in elektronischer Form, das Deployment auf einem Applikationsserver und ggf. projektspezifisches Weiteres.

Welche Vorteile bietet ein automatisierter Build-Prozess?

Aus Quellcode-Dateien, Datenbankschemata, Konfigurationsdateien, Migrationsskripten etc. ein lauffähiges System zu erhalten kann ein langwieriger, fehleranfälliger Prozess sein. In traditionellen Entwicklungsprozessen wird diese Aktivität deshalb gern ans Ende der Entwicklungszeit gestellt, häufig mit bösen Überraschungen, wenn das System dann letztendlich zum ersten Mal komplett zusammengeführt werden soll. In agilen Softwareprozessen gilt es deshalb als gute Praxis, den Build-Prozess so häufig wie möglich zu durchlaufen. Das kann wegen der beschriebenen Komplexität wirtschaftlich nur durch Automatisierung erreicht werden: Ein dedizierter Build-Rechner reagiert automatisch auf Änderungen im Code-Repository. Es wird automatisch ein Abzug des aktuellen Repository-Standes geholt und kompiliert. Automatisierte Unit- und Integrationstests prüfen die Integrität aller Bestandteile. Inkompatibilitäten und Fehler werden auf diesem Wege sehr schnell aufgedeckt. Der Build-Rechner liefert den Entwicklern schnelles Feedback über den Zustand des Gesamtsystems, Probleme werden automatisch zeitnah aufgedeckt und visualisiert.

Ein zweiter Vorteil des automatisierten Build-Prozesses entsteht, wenn regelmäßig das aktuelle System ausführbar an einem festen Ort bereitgestellt wird. Projektverantwortliche und Kunden können sich damit jederzeit ein Bild vom aktuellen Projektfortschritt machen und gegebenenfalls dem Entwicklungsteam sofort ein steuerndes, inhaltliches Feedback geben.

Wie kann ein automatisierter Build-Prozess eingeführt werden?

Es gibt eine Vielzahl von Werkzeugen, die einen automatisierten Build-Prozess unterstützen. CruiseControl oder Luntbuild koordinieren den automatisierten Prozess, Ant und Maven liefern die Prozess-Anweisungen, JUnit, TestNG und Fit helfen, die Integrität des Systems zu prüfen. Wir haben in vielen Projekten diese Werkzeuge eingesetzt und helfen Ihnen gern bei der Einführung eines automatisierten Build-Prozesses.

Ein erstrebenswertes Ziel ist insbesondere ein schnell durchlaufender Buildprozess, um möglichst häufig einen Build durchführen zu können und schnelles Feedback zu erhalten. In unserer Schulung 10-Minute-Build können Sie lernen, wie ein schnell durchlaufender Build-Prozess etabliert werden kann.

Seite druckenDiese Seite ausdrucken

Schulung

In unserer Schulung 10-Minute-Build lernen Sie, wie Ihr Build-Prozess automatisiert werden kann und welche Werkzeuge dafür zur Verfügung stehen.

Flashfilm Build-Prozess

Unser Flashfilm demonstriert anhand von Legomännchen, wie ein automatisierter Build-Prozess funktioniert.