Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
70<br />
5 <strong>Hudson</strong> <strong>im</strong> Überblick<br />
CruiseControl.NET Für weitere Bekanntheit sorgte das Schwesterprojekt CruiseControl.NET<br />
(http://ccnet.thoughtworks.com), das vornehmlich die Werkzeugwelt<br />
der Microsoft-Landschaft bedient, etwa NAnt, MSBuild,<br />
NUnit, NDepend.<br />
Abb. 5–12<br />
Build-Übersicht in<br />
CruiseControls<br />
»Dashboard«-Oberfläche<br />
Zwei Komponenten:<br />
»Die Schleife« und die<br />
Weboberfläche<br />
Wenige Möglichkeiten<br />
zur Interaktion<br />
Architektur und besondere Merkmale<br />
Ein CruiseControl-Server besteht aus einem Prozess, der zeitgesteuert<br />
nach Änderungen in Versionsmanagementsystemen horcht und gegebenenfalls<br />
neue Builds anstößt. Nach Beendigung des Builds werden<br />
Benachrichtigungen abgesetzt. Da dieser Prozess endlos läuft, wird er<br />
als »die Schleife« (the loop) bezeichnet. Abgesehen von einer Konsolenausgabe<br />
hat dieser Prozess keine Oberfläche, über die ein Benutzer<br />
den Fortschritt beobachten könnte. Stattdessen liefert CruiseControl<br />
gleich zwei webbasierte GUIs mit: die »klassische« Ansicht und das<br />
dashboard (Abb. 5–12, Abb. 5–13). Beide visualisieren den Status der<br />
Schleife und zeigen Informationen aus vergangenen Builds an. Technisch<br />
betrachtet handelt es sich bei beiden GUIs um Java-Webapplikationen,<br />
die in einem schlanken Jetty-Container betrieben werden.<br />
CruiseControl fokussiert sich auf die wichtigsten CI-Schritte<br />
»Änderungen erkennen, Projekt bauen, Team benachrichtigen«.<br />
Umfangreiche Visualisierungen oder ein ausgefeiltes Rechte- und Rollenmodell<br />
sucht man hier vergebens.<br />
Ohne sein großes Verdienst um die Popularisierung des CI-Gedankens<br />
schmälern zu wollen, merkt man CruiseControl sein Alter an: Die<br />
Oberflächen dienen ausschließlich der passiven Betrachtung des Fortschritts.<br />
Außer dem manuellen Auslösen eines Builds stehen hier keine