Als DevOps-Administrator oder -Entwickler können Sie die Code Stream-Cloud-Dienste mithilfe des Gerrit-Auslösers in den Lebenszyklus für Gerrit-Codeprüfungen integrieren. Das Ereignis löst die Ausführung einer Pipeline aus, wenn Sie einen Patch-Satz erstellen, Entwürfe veröffentlichen, Codeänderungen im Gerrit-Projekt zusammenführen oder Änderungen direkt in die Git-Verzweigung übertragen.

Wenn Sie den Auslöser für Gerrit hinzufügen, wählen Sie einen Gerrit-Listener sowie ein Gerrit-Projekt auf dem Server aus und konfigurieren Sie Gerrit-Ereignisse. In diesem Beispiel konfigurieren Sie zuerst einen Gerrit-Listener. Anschließend verwenden Sie diesen Listener in einem Gerrit-Auslöser mit zwei Ereignissen in drei verschiedenen Pipelines.

Voraussetzungen

Prozedur

  1. Klicken Sie in Code Stream auf Auslöser > Gerrit.
  2. (Optional) Klicken Sie auf die Registerkarte Listener und anschließend auf Neuer Listener.
    Hinweis: Überspringen Sie diesen Schritt, wenn der Gerrit-Listener, den Sie für den Gerrit-Auslöser verwenden möchten, bereits definiert ist.
    1. Wählen Sie ein Projekt aus.
    2. Geben Sie einen Namen für den Gerrit-Listener ein.
    3. Wählen Sie einen Gerrit-Endpoint aus.
    4. Geben Sie das API-Token ein.
      Das CSP-API-Token authentifiziert Sie für externe API-Verbindungen mit Code Stream. So rufen Sie das API-Token ab:
      1. Melden Sie sich bei vRealize Automation Cloud an.
      2. Klicken Sie auf den Dropdown-Pfeil neben Ihrem Namen.
      3. Klicken Sie auf Mein Konto.
      4. Klicken Sie auf API-Token.
      5. Klicken Sie auf Neues API-Token erzeugen.
        1. Geben Sie einen Namen für das Token ein.
        2. Wählen Sie unter „Organisationsrollen“ die Option Organisationsbesitzer aus.
        3. Klicken Sie unter „Dienstrollen“ auf VMware Code Stream, um den Eintrag zu erweitern, und wählen Sie Code Stream-Administrator aus.
        4. Klicken Sie auf Generieren.

          Im Fenster Generiertes Token wird ein Token mit dem von Ihnen angegebenen Namen und dem Namen Ihrer Organisation angezeigt.

      6. Klicken Sie auf das Symbol KOPIEREN.

        Durch Klicken auf KOPIEREN wird sichergestellt, dass die exakte Zeichenfolge erfasst wird. Dies ist zuverlässiger als die Verwendung des Mauszeigers zum Kopieren der Zeichenfolge.

      Wenn Sie eine Variable erstellt haben, zeigt das API-Token den Variablennamen an, den Sie eingegeben haben. Wenn Sie das Token kopiert haben, zeigt das API-Token das maskierte Token an.

      Gerrit-Listener für Auslöser-SaaS

    5. Zum Überprüfen der Token- und Endpoint-Details klicken Sie auf Überprüfen.
      Ihr Token läuft nach 90 Tagen ab.
    6. Klicken Sie auf Erstellen.
    7. Klicken Sie auf der Listener-Karte auf Verbinden.
      Der Listener beginnt mit der Überwachung aller Aktivitäten auf dem Gerrit-Server und überwacht alle aktivierten Auslöser auf diesem Server. Um die Überwachung eines Auslösers auf diesem Server zu beenden, deaktivieren Sie den Auslöser.
  3. Klicken Sie auf die Registerkarte Auslöser und anschließend auf Neuer Gerrit-Auslöser.
  4. Wählen Sie ein Projekt auf dem Gerrit-Server aus.
  5. Geben Sie einen Namen ein.
    Der Name des Gerrit-Auslösers muss eindeutig sein.
  6. Wählen Sie einen konfigurierten Gerrit-Listener aus.
    Code Stream verwendet die Gerrit-Listener-Auswahl, um eine Liste von Gerrit-Projekten bereitzustellen, die auf dem Server verfügbar sind.
  7. Wählen Sie ein Projekt auf dem Gerrit-Server aus.
  8. Geben Sie den Branch in dem zu überwachenden Repository ein.
  9. (Optional) Geben Sie Dateieinschlüsse oder -ausschlüsse als Bedingungen für den Auslöser an.
    • Sie geben Dateieinschlüsse an, damit Pipelines ausgelöst werden. Wenn eine der Dateien in einem Commit mit den in den Einschlusspfaden oder dem Regex angegebenen Dateien übereinstimmt, werden die Pipelines ausgelöst. Wenn ein Regex angegeben ist, löst Code Stream nur die Pipelines mit Dateinamen im Änderungssatz aus, die mit dem angegebenen Ausdruck übereinstimmen. Der Regex-Filter ist nützlich, wenn ein Auslöser für mehrere Pipelines in einem einzelnen Repository konfiguriert wird.
    • Sie geben Dateiausschlüsse an, um die Auslösung von Pipelines zu verhindern. Wenn alle Dateien in einem Commit mit den in den Ausschlusspfaden oder dem Regex angegebenen Dateien übereinstimmen, werden die Pipelines nicht ausgelöst.
    • Wenn diese Option aktiviert ist, wird durch „Ausschluss priorisieren“ sichergestellt, dass keine Pipelines ausgelöst werden. Die Pipelines werden nicht ausgelöst, selbst wenn eine der Dateien in einem Commit mit den Dateien übereinstimmt, die in den Ausschlusspfaden oder dem Regex angegeben sind. Die Standardeinstellung ist „Aus“.
    Wenn die Bedingungen sowohl für Einschluss als auch Ausschluss erfüllt sind, werden Pipelines nicht ausgelöst.

    Im folgenden Beispiel sind sowohl Dateieinschlüsse als auch Dateiausschlüsse Bedingungen für den Auslöser.

    Beispiel für Dateieinschlüsse und -ausschlüsse

    • Bei Dateieinschlüssen löst ein Commit mit einer Änderung in runtime/src/main/a.java oder einer beliebigen Java-Datei Pipelines aus, die in der Ereigniskonfiguration konfiguriert sind.
    • Bei Dateiausschlüssen werden bei einem Commit mit Änderungen nur in beiden Dateien die in den Ereigniskonfigurationen konfigurierten Pipelines nicht ausgelöst.
  10. Klicken Sie auf Neue Konfiguration.
    1. Wählen Sie für ein Gerrit-Ereignis Patch-Satz erstellt, Entwurf veröffentlicht oder Änderung zusammengeführt aus. Oder klicken Sie für die direkte Weitergabe an Git mit Umgehung von Gerrit auf Direkt an Git weitergeben.
    2. Wählen Sie die auszulösende Pipeline aus.
      Wenn die Pipeline mit benutzerdefinierten hinzugefügten Eingabeparametern konfiguriert wurde, werden in der Liste der Eingabeparameter Parameter und Werte angezeigt. Sie können Werte für Eingabeparameter eingeben, die mit dem Auslöserereignis an die Pipeline übergeben werden sollen. Alternativ können Sie auf die Eingabe von Werten verzichten oder die Standardwerte verwenden.
      Hinweis: Wenn Standardwerte definiert sind:
      • Alle für die Eingabeparameter eingegebenen Werte überschreiben die Standardwerte, die im Pipeline-Modell definiert sind.
      • Zum Konfigurieren des Auslösers verwendete Standardwerte werden nicht aktualisiert, wenn die Parameterwerte im Pipeline-Modell geändert werden.

      Informationen zum automatischen Einfügen von Eingabeparametern für Gerrit-Auslöser finden Sie unter Voraussetzungen.

    3. Für Patch-Satz erstellt, Entwurf veröffentlicht und Änderung zusammengeführt werden einige Aktionen standardmäßig mit Beschriftungen angezeigt. Sie können die Bezeichnung ändern oder Kommentare hinzufügen. Wenn dann die Pipeline ausgeführt wird, wird die Bezeichnung oder der Kommentar auf der Registerkarte „Aktivität“ als die Durchgeführte Aktion für die Pipeline angezeigt.
    4. Klicken Sie auf Speichern.
    Um mehrere Auslöserereignisse für mehrere Pipelines hinzuzufügen, klicken Sie erneut auf Neue Konfiguration.
    Im folgenden Beispiel werden Ereignisse für drei Pipelines angezeigt:
    • Wenn ein Änderung zusammengeführt-Ereignis im Gerrit-Projekt auftritt, wird Gerrit-Pipeline ausgelöst.
    • Wenn ein Patch-Satz-Ereignis im Gerrit-Projekt auftritt, werden Gerrit-Auslöser-Pipeline und Gerrit-Demo-Pipeline ausgelöst.

    Konfiguration des Listeners und des Gerrit-Auslösers

  11. Klicken Sie auf Erstellen.
    Der Auslöser wird als neue Karte angezeigt und ist standardmäßig deaktiviert.
  12. Klicken Sie auf der Auslöserkarte auf Aktivieren.
    Ein aktivierter Auslöser verwendet den Gerrit-Listener zum Starten von Überwachungsereignissen, die auf dem Branch des Gerrit-Projekts auftreten.
    Berücksichtigen Sie beim Erstellen des Auslösers das Repository, in dem der Code-Commit ausgeführt wird. Wenn Sie einen Auslöser mit denselben Bedingungen für die Dateiaufnahme oder den Dateiausschluss, aber mit einem anderen Repository erstellen möchten, können Sie beispielsweise auf der Auslöserkarte auf Aktionen > Klonen klicken. Klicken Sie dann im neuen Auslöser auf Öffnen und ändern Sie die Parameter.

Ergebnisse

Herzlichen Glückwunsch! Sie haben erfolgreich einen Gerrit-Auslöser mit zwei Ereignissen in drei verschiedenen Pipelines konfiguriert.

Nächste Maßnahme

Nachdem Sie eine Codeänderung im Gerrit-Projekt ausgeführt haben, überprüfen Sie die Registerkarte „Aktivität“ für das Gerrit-Ereignis in Code Stream. Stellen Sie sicher, dass die Liste der Aktivitäten Einträge enthält, die jeder im Auslöser konfigurierten Pipeline-Ausführung entsprechen. Wenn ein Ereignis auftritt, werden nur Pipelines im Gerrit-Auslöser ausgeführt, die sich auf den jeweiligen Ereignistyp beziehen. Wenn in diesem Beispiel ein Patch-Satz erstellt wird, werden nur die Gerrit-Auslöser-Pipeline und die Gerrit-Demo-Pipeline ausgeführt.

Mit den Informationen in den Spalten auf der Registerkarte „Aktivität“ wird jedes Gerrit-Auslöserereignis beschrieben. Sie können die Spalten auswählen, die angezeigt werden sollen.
  • Die Spalten „Betreff ändern“ und „Ausführung“ sind leer, wenn der Auslöser eine direkte Git-Weitergabe war.
  • Die Spalte „Gerrit-Auslöser“ enthält den Auslöser, der das Ereignis erstellt hat.
  • Der Listener ist standardmäßig deaktiviert. Wenn diese Option ausgewählt ist, wird der Gerrit-Listener angezeigt, der das Ereignis empfangen hat. Ein Listener kann mehreren Auslösern zugeordnet werden.
  • „Auslösertyp“ ist standardmäßig deaktiviert. Wenn diese Option ausgewählt ist, wird angezeigt, ob der Auslöser manuell oder automatisch ausgelöst wurde.

Gerrit-Auslöseraktivität

Um die Aktivität für eine abgeschlossene oder fehlgeschlagene Ausführung zu steuern, klicken Sie auf die drei Punkte links neben jedem Eintrag auf dem Bildschirm „Aktivität“.
  • Wenn die Pipeline aufgrund eines Fehlers im Pipeline-Modell oder eines anderen Problems nicht ausgeführt werden kann, korrigieren Sie den Fehler und wählen Sie Erneut ausführen aus, um sie erneut auszuführen.
  • Wenn die Pipeline aufgrund eines Problems mit der Netzwerkkonnektivität oder eines anderen Problems nicht ausgeführt werden kann, wählen Sie Fortsetzen aus, um die Ausführung derselben Pipeline neu zu starten. Dadurch wird Laufzeit eingespart.
  • Verwenden Sie Ausführung anzeigen, um auf den Ausführungsbildschirm zu übertragen. Weitere Informationen hierzu finden Sie unter Vorgehensweise zum Ausführen einer Pipeline und Anzeigen von Ergebnissen.
  • Verwenden Sie die Option Löschen, um den Eintrag aus dem Aktivitätsbildschirm zu löschen.
Falls ein Gerrit-Ereignis keine Pipeline auslösen kann, können Sie auf die Schaltfläche Manuell auslösen klicken und den Namen des Gerrit-Auslösers sowie die Änderungs-ID eingeben.

Ein Gerrit-Ereignis tritt möglicherweise nicht auf, weil die Verbindung zwischen dem Gerrit-Server und dem Pipeline-Cloud-Proxy unterbrochen wurde. Der Verbindungsverlust kann bis zu 10 Minuten dauern. Der Verbindungsverlust kann auftreten, wenn der Gerrit-Server aktualisiert oder neu gestartet wird. Er kann auch auftreten, wenn der Pipeline-Cloud-Proxy aktualisiert wird.