< Vorherige Lektion | Nächste Lektion >

Lerneinheit 8: Jazz Team Builds

In diesem Abschnitt wird die Jazz Team Build-Benutzerschnittstelle aus der Perspektive eines Entwicklers untersucht, der Anwender (Consumer) dessen ist, was der Rational Team Concert-Build zur Verfügung stellt. Sie müssen jedoch einige Konfigurationsarbeiten durchführen, die normalerweise vom Buildadministrator oder Releaseentwickler ausgeführt werden. Damit vom Jazz Team Build die für Ihr Projekt erforderlichen Elemente erstellt werden können, kann eine gewisse Anpassung und Adaption der Build-Scripts erforderlich sein, damit die Projektanforderungen erfüllt werden. Glücklicherweise kann die Ausführung des Jazz Team Build einfach gestartet werden, sodass Sie sich bequem auf dieselbe Weise mit den Funktionen dieser Komponente vertraut machen können wie bei Ihrem Einsatz in Ihrem Team.

Der Jazz Team Build ist eine Basiskomponente von Rational Team Concert. Es erstellt zwar selbstständig keine Komponenten, aber es stellt die Infrastruktur bereit, um die Arbeit des Teams aus dem Repository von Rational Team Concert abzurufen, sie den Build-Scripts zur Verfügung zu stellen und die Ergebnisse wieder an Rational Team Concert zu übergeben. Als Benutzer und Konsument der Builds von Rational Team Concert können Sie ausgeführte Builds überwachen und auf die Ergebnisse zugreifen. Seit den Anfängen von Rational Team Concert wurde der Jazz Team Build für den Build von Rational Team Concert selbst verwendet.
Wie funktioniert der Jazz Team Build? Hier ist ein erster Überblick:
  1. Zeitplan definieren: Ein bestimmtes Build führt Operationen nach einem Zeitplan aus, den Sie definieren. Im Abschnitt über die Quellcodeverwaltung von Rational Team Concert wurde bereits erläutert, dass ein Team seine gemeinsame Entwicklungsarbeit in mindestens einem Teamdatenstrom gemeinsam nutzt.
  2. Auf Änderungen überprüfen: Wenn der Zeitpunkt für die Ausführung eines Builds für ein Team gekommen ist, wird vom Jazz Team Build überprüft, ob Änderungen am Inhalt des Teamdatenstroms vorgenommen wurden. Die Änderungen, als Änderungssets bezeichnet, werden im eigenen Build-Arbeitsbereich akzeptiert, sodass eine aktuelle Kopie des Datenstroms bzw. der Datenströme vorhanden ist.
  3. Repository-Inhalt abrufen und Build ausführen: Anschließend wird vom Build der Inhalt des Build-Arbeitsbereichs in das Dateisystem abgerufen, in dem der Build von den Build-Scripts ausgeführt wird.
  4. Artefakte im Repository veröffentlichen: Die Buildartefakte werden im Repository von Rational Team Concert veröffentlicht, damit die Benutzer auf sie zugreifen können.
  5. Benachrichtigung über Ausführung eines Builds senden: Der Status aller Builds wird in Echtzeit zurückgemeldet und Sie werden automatisch benachrichtigt, wenn ein Build ausgeführt worden ist.
Im Jazz Team Build sind die Jazz-Build-Engine und das Jazz-Build-Toolkit enthalten. Die Installation und Konfiguration dieser beiden Komponenten ist relativ einfach. Führen Sie im Jazz-Client die folgenden Tasks aus:
  • Build-Script definieren (der Hauptteil dieser Arbeit wird hier vom Eclipse-Jazz-Client ausgeführt)
  • Builddefinition definieren, die das Build-Script angibt
  • Build-Engine zum Ausführen des angegebenen Builds definieren
  • Build-Engine starten, die auf Buildanforderungen reagiert, Builds ausführt und Ergebnisse veröffentlicht
So können Sie einen Build anfordern, die Ergebnisse überprüfen und die Buildbenutzerschnittstelle kennenlernen, als wären Sie ein Entwickler und Anwender (Consumer) der Komponenten, die vom Jazz Team Build erstellt werden.
Anmerkung: Die Schritte für die Konfiguration dauern etwas länger. Es kann sinnvoll sein, jetzt eine Pause einzulegen und später an dieser Stelle wieder fortzufahren. Wenn Sie sich dafür entscheiden, die Buildkonfiguration jetzt nicht durchzuführen, sollten Sie den nächsten Abschnitt mit dem Titel 'Die Benutzerschnittstelle für den Jazz Team Build kennenlernen' durchlesen. In diesem Abschnitt erfahren Sie, wie Sie Builds anfordern und die Buildergebnisse untersuchen.

Eclipse-Arbeitsbereich für die Buildteammitglieder konfigurieren

In diesem Lernprogramm ist das Buildteammitglied, das Sie in einem vorherigen Lernprogramm erstellt haben, der dedizierte Buildbenutzer. Konfigurieren Sie einen neuen Eclipse-Arbeitsbereich für das Buildteammitglied.

So konfigurieren Sie einen neuen Eclipse-Arbeitsbereich für das Buildteammitglied:
  1. Wechseln Sie in den neuen Eclipse-Arbeitsbereich.
  2. Erstellen Sie eine Repository-Verbindung.
  3. Stellen Sie eine Verbindung zum Prelude-Projektbereich her.
Weitere Informationen hierzu finden Sie in Lerneinheit 2: Verbindung herstellen. Nachdem Sie die Konfiguration beendet haben, sollten Ihre Teamartefakte wie folgt angezeigt werden:

Eclipse-Arbeitsbereich des Buildteammitglieds

Build-Script erstellen

So erstellen Sie ein Build-Script:

Stellen Sie sicher, dass Sie eine Repository-Verbindung definiert haben und angemeldet sind.
  1. Klicken Sie in der Ansicht 'Paket-Explorer' mit der rechten Maustaste auf ein Projekt; klicken Sie anschließend auf Exportieren.
  2. Wählen Sie im Assistenten 'Exportieren' auf der Seite 'Auswählen' unter Allgemein die Option Ant-Build-Dateien aus und klicken Sie auf Weiter.
  3. Stellen Sie auf der Seite 'Exportieren' sicher, dass Ihr Projekt und alle Kontrollkästchen ausgewählt sind und klicken Sie auf Fertig stellen.
Eine Datei des Typs 'build.xml' wird zum Projekt hinzugefügt. Von dieser Datei wird die Scriptsprache Ant verwendet. Von diesem Script wird das Projekt kompiliert, außerdem werden von ihm Java™-Klassendateien erstellt. Beachten Sie, dass dies als abgehende Änderung bezeichnet wird.

Zur Ansicht 'Paket-Explorer' hinzugefügte Datei 'build.xml'

Achtung: Übergeben Sie das Ant-Script jetzt noch nicht.

Dedizierten Repository-Arbeitsbereich erstellen

Sie können einen dedizierten Repository-Arbeitsbereich für die Verwendung durch die Jazz-Builddefinition für Ihr Projekt erstellen. Während eines Builds verwendet die Jazz-Build-Engine, die mit dem Jazz-Repository mithilfe einer vorher zugeordneten Benutzer-ID verbunden ist, diesen Build-Arbeitsbereich zur Identifizierung des zu erstellenden Inhalts. Zuerst werden von ihr alle eingehenden Änderungen vom Teamdatenstrom akzeptiert, danach wird von ihr der Inhalt des Build-Arbeitsbereichs zur Verarbeitung in das lokale Dateisystem geladen.

So erstellen Sie einen dedizierten Build-Repository-Arbeitsbereich:
  1. Klicken Sie in der Ansicht 'Teamartefakte' mit der rechten Maustaste auf Eigene Repository-Arbeitsbereiche und klicken Sie anschließend auf Neu > Repository-Arbeitsbereich.
  2. Klicken Sie im Assistenten 'Neuer Repository-Arbeitsbereich' auf der Seite 'Datenstrom auswählen' auf das Optionsfeld An Datenstrom übergeben und wählen Sie im Teilfenster darunter den Eintrag für Team 1 Stream (Team 1) aus.
  3. Klicken Sie auf Weiter.
  4. Geben Sie auf der Seite 'Neuer Repository-Arbeitsbereich' den Namen des Build-Arbeitsbereichs Team 1 Build-Arbeitsbereich ein und klicken Sie auf Weiter.
  5. Stellen Sie auf der Seite 'Lesezugriffsberechtigung' sicher, dass die Option Öffentlich (Public) ausgewählt ist, und klicken Sie auf Weiter.
  6. Bestätigen Sie auf der Seite 'Hinzuzufügende Komponenten', dass die Komponente des Datenstroms ausgewählt ist, und nehmen Sie die Auswahl des Kontrollkästchens Repository-Arbeitsbereich nach Erstellung laden zurück.
  7. Klicken Sie auf Fertig stellen. Der Build-Repository-Arbeitsbereich wird in Ihrer Ansicht angezeigt.

    Der Build-Repository-Arbeitsbereich wurde zur Ansicht 'Eigene Repository-Arbeitsbereiche' hinzugefügt

Builddefinition und Build-Engine erstellen

Sie können eine Jazz-Builddefinition für Ihr Projekt erstellen. Die Build-Definition wird für die Verwendung des neuen Build-Arbeitsbereichs konfiguriert, damit bei der Ausführung des Builds alle Änderungen aus dem Teamdatenstrom vor dem Start des Builds akzeptiert werden können.

So erstellen Sie eine Builddefinition:
  1. Erweitern Sie in der Ansicht 'Teamartefakte' den Projektordner.
  2. Klicken Sie mit der rechten Maustaste auf Builds; klicken Sie anschließend auf Neue Builddefinition.
  3. Übernehmen Sie im Assistenten 'Neue Builddefinition' auf der Seite 'Neue Builddefinition' die Standardeinstellungen und klicken Sie auf Weiter.
  4. Wählen Sie auf der Seite 'Allgemeine Informationen' im Teilfenster Verfügbare Buildschablonen die Option Ant – Jazz-Build-Engine aus und klicken Sie auf Weiter.
  5. Wählen Sie auf der Seite 'Buildvorbereitung' die Option Jazz-Quellcodeverwaltung aus und klicken Sie auf Weiter.
  6. Übernehmen Sie auf der Seite 'Buildabschluss' die Standardeinstellungen und klicken Sie auf Weiter.
  7. Stellen Sie auf der Seite 'Zusätzliche Konfiguration' sicher, dass alle Optionen ausgewählt sind, und klicken Sie auf Fertig stellen. Der Editor 'Builddefinition' wird geöffnet.
  8. Erstellen Sie eine Build-Engine für die Builddefinition:
    1. Klicken Sie im Teilfenster 'Unterstützende Build-Engines' auf die Option Engine erstellen.
    2. Geben Sie im Dialogfenster 'Build-Engine erstellen' in das Feld Engine-ID die Kennung PreludeBuildEngine ein.
    3. Klicken Sie auf OK.
  9. Klicken Sie auf die Registerkarte Jazz-Quellcodeverwaltung des Editors 'Builddefinition'.
  10. Geben Sie im Teilfenster Ladeoptionen in das Feld Ladeverzeichnis die Zeichenfolge fetched ein.
  11. Führen Sie die folgenden Schritte aus, um einen Build-Arbeitsbereich anzugeben:
    1. Klicken Sie im Teilfenster Buildarbeitsbereich auf Auswählen.
    2. Wählen Sie im Dialogfenster 'Datenstrom oder Arbeitsbereich auswählen' im Teilfenster Übereinstimmende Elemente den Arbeitsbereich Team 1 Build-Arbeitsbereich aus und klicken Sie auf OK.
  12. Klicken Sie auf die Registerkarte Ant.
  13. Geben Sie in das Feld Builddatei den folgenden Pfad ein: fetched/projectname/build.xml; hierbei steht projectname für den Namen des Java-Projekts. In diesem Lernprogramm verwenden wir das Projekt 'HelloWorld'.
  14. Geben Sie in das Feld Java-Ausgangsposition den Dateipfad zu Ihrem Java-Compiler ein. Beispiel: c:\Program Files\IBM\TeamConcert\jdk.
  15. Klicken Sie auf Speichern.
Damit ist die Konfiguration abgeschlossen. In der Ansicht 'Teamartefakte' werden jetzt die Builddefinition und die Build-Engine aufgelistet.

Builddefinition und Build-Engine in der Ansicht 'Teamartefakte'

Build-Script übergeben

Vor dem Starten der Build-Engine zum Ausführen der Builds muss bedacht werden, dass das Build-Script (build.xml) im Projekt 'Hello Prelude' nicht an den Datenstrom übergeben worden ist. Ohne das Script verfügt die Jazz-Build-Engine nicht über die erforderlichen Anweisungen zur Ausführung des Builds. Diese Änderung wird jetzt übergeben.

  1. Klicken Sie in der Ansicht 'Anstehende Änderungen' unter Standardkomponente mit der rechten Maustaste auf Unaufgelöst; klicken Sie anschließend auf Einchecken und übergeben.

    Ansicht 'Anstehende Änderungen'

  2. Geben Sie im Assistenten 'Einchecken und übergeben' im Teilfenster 'Kommentar für Änderungsset' einen Kommentar ein und klicken Sie auf Weiter.
  3. Wählen Sie auf der Seite 'Arbeitselement zuordnen' ein vorhandenes Arbeitselement aus und klicken Sie auf Fertig stellen.
Das Build-Script befindet sich jetzt im Datenstrom. Wenn das Build ausgeführt wird, steht das Script zur Verfügung.

Build-Engine starten

Build-Engine starten, um einen Build ausführen zu können

Anmerkung: Wenn Sie die Build-Engine starten, stellen Sie sicher, dass das richtige JDK verwendet wird. Sie können das JDK angeben, das im Jazz-Client enthalten ist, indem Sie den Befehlszeilenparameter -vm verwenden.

So starten Sie die Build-Engine:
  1. Navigieren Sie in einer Befehlszeile zu installdir/buildsystem/buildengine/eclipse, wobei installdir das Installationsverzeichnis von Toolkit für Buildsysteme ist.
  2. Geben Sie folgendes ein: jbe -vm clientinstalldir/jazz/client/eclipse/jdk/bin/java -repository repositoryURL -userId build –pass password -engineId PreludeBuildEngine wobei
    • clientinstalldir das Installationsverzeichnis von Jazz-Client ist.
    • repositoryURL für die URL des Repositorys steht. Beispiel: http://localhost:9080/jazz/.
    • password das Kennwort des Buildbenutzers ist.
    In diesem Lernprogramm lautet die Benutzer-ID build und die ID der Build-Engine lautet PreludeBuildEngine.
Wenn die Engine gestartet wird, dann erhalten Sie an der Konsole beispielsweise die folgende Ausgabe (es können auch andere Nachrichten angezeigt werden):
2009-06-11 16:08:47 Running build loop...
2009-06-11 16:08:47 Waiting for request...

Der Wert 1 (1 Sekunde) für -sleepTime stellt sicher, dass die Buildanforderungen schnell verarbeitet werden.

Die Build-Engine wartet auf Arbeit. Der Ausführung eines Builds steht jetzt nichts mehr im Wege.

Benutzerschnittstelle für Jazz Team Build kennenlernen

Informationen zu den Build-Tasks, die Sie mit dem Jazz Team Build ausführen können.

Mit dem Jazz-Client können Sie folgende Build-Tasks ausführen:

Jede dieser Tasks wird im Folgenden näher beschrieben.

Build anfordern

Ein Build können Sie in der Ansicht 'Teamartefakte' anfordern. Sie können auch die Buildeigenschaften ändern oder einen persönlichen Build anfordern, der keine Auswirkungen auf den Builddefinitionsstatus hat und in einem von Ihnen angegebenen Arbeitsbereich ausgeführt wird.

So fordern Sie einen Build an:
  1. Erweitern Sie in der Ansicht 'Teamartefakte' den Projektordner.
  2. Erweitern Sie den Ordner Builds und suchen Sie in der Liste nach dem Namen des Builds.
  3. Klicken Sie mit der rechten Maustaste auf Team 1 Build; klicken Sie anschließend auf Build anfordern.
    1. Optional: Wenn Sie einen persönlichen Build anfordern möchten, der keine Auswirkungen auf den Builddefinitionsstatus hat und in einem von Ihnen angegebenen Repository-Arbeitsbereich ausgeführt wird, wählen Sie im Teilfenster Buildoptionen die Option Persönlicher Build aus. Aktualisieren Sie bei Bedarf die Felder Repository-Arbeitsbereich und Komponentenladeregeln.
  4. Klicken Sie im Dialogfenster 'Build anfordern' auf Übergeben.
Die Build-Engine verarbeitet die Buildanforderung. Sie können diesen Prozess in dem Befehlsfenster überwachen, in dem Sie die Build-Engine gestartet haben.

Wenn der Build nicht ordnungsgemäß ausgeführt wurde, überprüfen Sie die Protokolldatei, die in den Buildergebnissen veröffentlicht wird.

Buildergebnisse anzeigen

Um Aufschluss über die Ausführung des Builds zu erhalten, müssen die Buildergebnisse geöffnet werden.

Der Editor für Buildergebnisse verfügt über die Registerkarten Übersicht, Protokolle und Eigenschaften. Sie können weitere Registerkarten zu den Punkten anzeigen, die das Build-Script zum Buildergebnis beigetragen hat. Wenn das Build-Script zum Beispiel Kompilierungsergebnisse und Downloads beiträgt, enthält der Editor für Buildergebnisse die Registerkarten Kompilierung und Downloads.

Sie haben die folgenden Tasks ausgeführt:

  1. Sie haben eine Buildanforderung übergeben. Sie hätte automatisch nach einem vordefinierten Zeitplan gestartet werden können.
  2. Die Anforderung wurde von der Jazz-Build-Engine zusammen mit der Builddefinition empfangen.
  3. Mithilfe eines für die Builddefinition definierten Build-Arbeitsbereichs (Team 1 Build-Arbeitsbereich) wurde von der Jazz-Build-Engine die Operation Akzeptieren ausgeführt, um den Buildarbeitsbereich vom Datenstrom zu aktualisieren. Im ersten Build gelangte so das neu erstellte Build-Script (build.xml) in den Build-Arbeitsbereich, was für die Ausführung eines Builds unverzichtbar ist.
  4. Der aktualisierte Inhalt des Build-Arbeitsbereichs wurde mithilfe des Verzeichnisses fetched in der Builddefinition in das Dateisystem geladen.
  5. Das Build-Script, das in der Builddefinition angegeben ist, wird aufgerufen. Das Script hat das Projekt HelloWorld kompiliert und Java-Klassendateien erstellt. Von einem etwas komplexeren Script hätte auch eine JAR-Datei erstellt und diese wieder in Jazz veröffentlicht werden können.
  6. Nach Ausführung des Scripts werden das Buildprotokoll und alle anderen veröffentlichten Ergebnisse im Jazz-Repository gespeichert.
  7. Das Team wird darüber benachrichtigt, dass der Build ausgeführt wurde.

Editor für Buildergebnisse

Im Editor für die Buildergebnisse werden folgende Informationen bereitgestellt:

Buildprotokoll auswerten

Um festzustellen, ob das neue Build-Script erfolgreich ausgeführt wurde, ist eine Auswertung des Buildprotokolls erforderlich.

  1. Rufen Sie die Seite 'Protokolle' auf. Eine Auswertung der Buildausführung ist erforderlich.

    Seite 'Protokolle'

  2. Wählen Sie die Protokolldatei aus und klicken Sie auf Öffnen. An dieser Stelle werden die wichtigsten Aktivitäten angezeigt, die ausgeführt wurden.

    Beispiel für ein Buildprotokoll

    In der Zwischenzeit werden Sie festgestellt haben, dass Jazz Buildinformationen für Sie und Ihr Team gut ersichtlich darstellt.

Status von Builds überwachen

Der Buildstatus kann passiv oder aktiv abgerufen werden. Die passiven Buildinformationen werden auf zwei Arten bereitgestellt: in der Ansicht 'Teamzentrale' im Abschnitt Build und in Buildalerts, die kurz auf dem Bildschirm angezeigt werden.

Nach der Ausführung eines Builds wird in der Ansicht 'Teamzentrale' im Abschnitt Build der Status der ausgeführten Builds für das Team bzw. die Teams aktualisiert, dessen bzw. deren Mitglied Sie sind.

Für ein ausgewähltes Build in dieser Ansicht können Sie die Ergebnisse des Builds anzeigen oder ein neues Build anfordern.

Gehen Sie wie folgt vor, um die Häufigkeit der Statusaktualisierung anzupassen:

Verfügbare Builds suchen

Die verfügbaren Builds, den Status der momentan ausgeführten Builds und der in der Warteschlange auf ihre Ausführung wartenden Builds können Sie in der Ansicht 'Builds' anzeigen. Auf diese Ansicht können Sie über das Kontextmenü Buildergebnisse anzeigen im Ordner Builds in der Ansicht 'Teamartefakte' zugreifen.

Menüpunkt 'Buildergebnisse anzeigen'

Der Inhalt der Ansicht kann durch Auswählen einer Spalte sortiert werden. Es wird eine Reihe von interessanten Kontextmenüaktionen bereitgestellt. Sie können einen Build mit dem Datenstrom vergleichen, von dem aus der Build durchgeführt wurde, oder einen neuen Datenstrom aus einem Build erstellen (hilfreich beim Erstellen einer neuen Codebasis aus einer bewährten Codebasis).

Ansicht 'Buildergebnisse'

Sie können die Buildergebnisse auch durch Definieren eines Build-Viewlets in Ihrem webbasierten Jazz-Dashboard anzeigen:

Buildergebnisse für webbasiertes Jazz-Dashboard

Das Jazz-Entwicklerteam hat seinen Buildprozess bereits seit einiger Zeit angepasst. Der Editor für die Buildergebnisse in Jazz verfügt auch über die Registerkarten Kompilierung, JUnit und Downloads sowie über Externe Links. Anhand des folgenden Screenshots aus einem Jazz-Build können Sie erkennen, welche Möglichkeiten Sie dadurch haben.

Beispiel für angepasste Buildergebnisse

Prüfpunkt für die Lerneinheit

In dieser Lerneinheit haben Sie die grundlegenden Informationen über die Jazz Team Build-Funktionen kennengelernt.


Feedback

War dies eine Hilfe? Sie können Ihr Feedback bei Jazz.net (Registrierung erforderlich) geben: Geben Sie Ihre Kommentare in den Foren oder senden Sie einen Bug.

< Vorherige Lektion | Nächste Lektion >