Mit Automation Pipelines können Sie eine Pipeline auslösen, wenn eine Codeüberprüfung in Ihrem Gerrit-Projekt stattfindet. Der Auslöser für die Gerrit-Definition umfasst das Gerrit-Projekt und die Pipelines, die für verschiedene Ereignistypen ausgeführt werden müssen.

Der Auslöser für Gerrit verwendet einen Gerrit-Listener auf dem zu überwachenden Gerrit-Server. Um in Automation Pipelines einen Gerrit-Endpoint zu definieren, wählen Sie ein Projekt aus und geben die URL für den Gerrit-Server ein. Anschließend geben Sie den Endpoint an, wenn Sie einen Gerrit-Listener auf diesem Server erstellen.

Das folgende Verfahren zeigt die Definition eines Gerrit-Endpoints, den Sie in der Definition des Gerrit-Listeners verwenden können. Wenn Sie einen Endpoint bearbeiten müssen, wird in einem optionalen Schritt am Ende des Verfahrens erläutert, wie und wann das Update durchgeführt werden sollte.

Voraussetzungen

Prozedur

  1. Definieren Sie einen Gerrit-Endpoint.
    1. Klicken Sie auf Konfigurieren > Endpoints und dann auf Neuer Endpoint.
    2. Wählen Sie ein Projekt aus und wählen Sie Gerrit als Endpoint-Typ aus. Geben Sie dann einen Namen und eine Beschreibung ein.
    3. Wenn dieser Endpoint eine geschäftskritische Komponente in Ihrer Infrastruktur ist, aktivieren Sie Als eingeschränkt kennzeichnen.
    4. Geben Sie die URL für den Gerrit-Server ein.
      Zur Verwendung des Standardports können Sie eine Portnummer mit der URL angeben oder den Wert leer lassen.
    5. Geben Sie den Benutzernamen und das Kennwort für den Gerrit-Server ein.
      Wenn das Kennwort verschlüsselt werden muss, klicken Sie auf Variable erstellen und wählen Sie den Typ aus:
      • Geheimer Schlüssel: Das Kennwort wird aufgelöst, wenn ein Benutzer mit einer beliebigen Rolle die Pipeline ausführt.
      • Eingeschränkt: Das Kennwort wird aufgelöst, wenn ein Benutzer mit der „Admin“-Rolle die Pipeline ausführt.

      Geben Sie als Wert das Kennwort ein, das sicher sein muss, z. B. das Kennwort eines Jenkins-Servers.

    6. Geben Sie für den privaten Schlüssel den SSH-Schlüssel ein, der für den sicheren Zugriff auf den Gerrit-Server verwendet wird.
      Dieser Schlüssel ist der private RSA-Schlüssel, der sich im .ssh-Verzeichnis befindet.
    7. (Optional) Wenn dem privaten Schlüssel eine Passphrase zugeordnet ist, geben Sie die Passphrase ein.
      Um die Passphrase zu verschlüsseln, klicken Sie auf Variable erstellen und wählen Sie den Typ aus:
      • Geheimer Schlüssel: Das Kennwort wird aufgelöst, wenn ein Benutzer mit einer beliebigen Rolle die Pipeline ausführt.
      • Eingeschränkt: Das Kennwort wird aufgelöst, wenn ein Benutzer mit der „Admin“-Rolle die Pipeline ausführt.

      Geben Sie als Wert die Passphrase ein, die sicher sein muss, z. B. die Passphrase für einen SSH-Server.

  2. Klicken Sie auf Validieren und vergewissern Sie sicher, dass der Gerrit-Endpoint in Automation Pipelines mit dem Gerrit-Server verbunden ist.
    Wenn keine Verbindung hergestellt wird, korrigieren Sie alle Fehler und klicken Sie erneut auf Validieren.
    Wenn Sie einen Endpoint für den Gerrit-Auslöser hinzufügen, müssen Sie bestätigen, dass der Gerrit-Endpoint eine Verbindung mit dem Gerrit-Server herstellt.
  3. Klicken Sie auf Erstellen.
  4. (Optional) Stellen Sie vor dem Aktualisieren eines Gerrit-Endpoints zum Ändern einer URL oder eines privaten Schlüssels sicher, dass der Endpoint mit einem Gerrit-Listener verbunden ist.
    • Wenn der Endpoint nicht mit einem Gerrit-Listener verbunden ist, führen Sie die folgenden Schritte aus, um den Endpoint zu aktualisieren:
      1. Klicken Sie auf Konfigurieren > Endpoints und dann auf dem zu aktualisierenden Endpoint auf Öffnen.
      2. Aktualisieren Sie die Definition des Endpoints.
      3. (Optional) Wenn Sie den Cloud-Proxy austauschen, starten Sie den alten Cloud-Proxy einmal neu, um alle alten Verbindungen zu entfernen, bevor Sie den neuen Cloud-Proxy starten und eine neue Verbindung herstellen.
      4. Klicken Sie auf Validieren und stellen Sie sicher, dass der Gerrit-Endpoint in Automation Pipelines mit dem Gerrit-Server verbunden ist.
      5. Klicken Sie auf Speichern.
    • Wenn der Endpoint mit einem Gerrit-Listener verbunden ist, führen Sie die folgenden Schritte aus, um den Endpoint zu aktualisieren:
      1. Trennen Sie alle angehängten Gerrit-Listener. Weitere Informationen hierzu finden Sie unter Vorgehensweise zum Verwenden des Gerrit-Auslösers in Automation Pipelines zum Ausführen einer Pipeline.
      2. Führen Sie die Schritte zum Konfigurieren des neuen Endpoints aus.
      3. (Optional) Wenn Sie den Cloud-Proxy austauschen, starten Sie den alten Cloud-Proxy einmal neu, um alle alten Verbindungen zu entfernen, bevor Sie den neuen Cloud-Proxy starten und eine neue Verbindung herstellen.
      4. Validieren und speichern Sie die aktualisierte Endpoint-Definition.
      5. Verbinden Sie die Gerrit-Listener erneut.
      Hinweis: Wenn die Gerrit-Listener nicht getrennt werden, liegt dies möglicherweise daran, dass sich die aktuellen Werte des Gerrit-Endpoints geändert haben, wodurch die Listener nicht mehr mit dem Gerrit-Server kommunizieren können. Wenn dieses Problem auftritt, nehmen Sie zunächst Änderungen an der Endpoint-Definition vor, damit die Listener mit dem Gerrit-Server kommunizieren können. Trennen Sie anschließend die Gerrit-Listener und verbinden Sie sie erneut.

Nächste Maßnahme

Weitere Informationen finden Sie in den anderen Abschnitten. Weitere Informationen hierzu finden Sie unter Vorgehensweise zum Verwenden des Gerrit-Auslösers in Automation Pipelines zum Ausführen einer Pipeline.