Als DevOps-Administrator oder -Entwickler können Sie die Code Stream-Cloud-Dienste mithilfe des Git-Auslösers in den Git-Lebenszyklus integrieren. Wenn Sie eine Codeänderung in GitHub, GitLab oder Bitbucket Enterprise vornehmen, kommuniziert das Ereignis mit Code Stream über einen Webhook und löst die Ausführung einer Pipeline aus.

Wenn Sie den Webhook für Git in Code Stream hinzufügen, erstellt er auch einen Webhook im GitHub-, GitLab- oder Bitbucket-Repository. Wenn Sie den Webhook später aktualisieren oder löschen, wird der Webhook in GitHub, GitLab oder Bitbucket ebenfalls aktualisiert oder gelöscht.

Ihre Webhook-Definition muss einen Git-Endpoint auf dem Branch des Repositorys enthalten, das Sie überwachen möchten. Code Stream verwendet den Git-Endpoint zum Erstellen des Webhooks. Wenn der Endpoint nicht vorhanden ist, können Sie ihn erstellen, wenn Sie den Webhook hinzufügen. In diesem Beispiel wird vorausgesetzt, dass Sie über einen vordefinierten Git-Endpoint in GitHub verfügen.

In diesem Beispiel wird die Verwendung des Git-Auslösers mit einem GitHub-Repository gezeigt. Zu den Voraussetzungen gehören jedoch Vorbereitungen, die bei Verwendung eines anderen Git-Servertyps erforderlich sind.

Voraussetzungen

Prozedur

  1. Klicken Sie in Code Stream auf Auslöser > Git.
  2. Klicken Sie auf die Registerkarte Webhooks für Git und dann auf Neuer Webhook für Git.
    1. Wählen Sie ein Projekt aus.
    2. Geben Sie einen Namen und eine Beschreibung für den Webhook ein.
    3. Wählen Sie einen Git-Endpoint aus, der für den zu überwachenden Branch konfiguriert ist.
      Wenn Sie Ihren Webhook erstellen, enthält die Webhook-Definition die aktuellen Endpoint-Details.
      • Wenn Sie den Git-Typ, den Git-Servertyp oder die URL des Git-Repositorys zu einem späteren Zeitpunkt im Endpoint ändern, kann der Webhook keine Pipeline mehr auslösen, da er unter Verwendung der ursprünglichen Endpoint-Details auf das Git-Repository zugreift. Sie müssen den Webhook löschen und ihn erneut mit dem Endpoint erstellen.
      • Wenn Sie den Authentifizierungstyp, den Benutzernamen oder das Kennwort zu einem späteren Zeitpunkt im Endpoint ändern, wird der Webhook weiterhin ausgeführt.
      Weitere Informationen hierzu finden Sie unter Wie integriere ich Code Stream in Git?.
    4. (Optional) Geben Sie den Branch ein, der vom Webhook überwacht werden soll. Beispiel: master.
      Wenn Sie keinen Branch eingeben, überwacht der Webhook den für den Git-Endpoint konfigurierten Branch.
    5. (Optional) Generieren Sie ein geheimes Token für den Webhook.
      Bei Verwendung generiert Code Stream ein zufälliges Zeichenfolgen-Token für den Webhook. Wenn der Webhook dann Git-Ereignisdaten empfängt, sendet er die Daten mit dem geheimen Token. Code Stream verwendet die Informationen, um zu ermitteln, ob die Aufrufe von der erwarteten Quelle stammen, z. B. von der konfigurierten GitHub-Instanz, dem Repository und dem Branch. Das geheime Token bietet eine zusätzliche Sicherheitsebene, die verwendet wird, um zu überprüfen, ob die Git-Ereignisdaten aus der richtigen Quelle stammen.
    6. (Optional) Geben Sie Dateieinschlüsse oder -ausschlüsse als Bedingungen für den Auslöser an.
      • Sie geben Dateieinschlüsse an, sodass Pipelines ausgelöst werden, wenn eine der Dateien in einem Commit mit den in den Einschlusspfaden oder dem Regex angegebenen Dateien übereinstimmt. 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, sodass die Pipelines nicht ausgelöst werden, wenn alle Dateien in einem Commit mit den angegebenen Dateien in den Ausschlusspfaden oder dem Regex übereinstimmen.
      • Wenn diese Option aktiviert ist, wird durch die Priorisierung des Ausschlusses sichergestellt, dass Pipelines nicht ausgelöst werden, selbst wenn eine der Dateien in einem Commit die angegebenen Dateien in den Ausschlusspfaden oder im Regex übereinstimmt. 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.
    7. Wählen Sie für das Git-Ereignis eine Push- oder Pull-Anforderung aus.
    8. 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.

    9. Wählen Sie die Pipeline aus, die der Webhook auslösen soll.
      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. Alternativ können Sie auf die Eingabe von Werten verzichten oder die Standardwerte verwenden, sofern welche definiert sind.

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

    10. Klicken Sie auf Erstellen.
      Der Webhook wird als neue Karte angezeigt.
  3. Klicken Sie auf die Webhook-Karte.
    Wenn das Webhook-Datenformular erneut angezeigt wird, wird im oberen Bereich des Formulars eine Webhook-URL hinzugefügt. Der Git-Webhook wird über die Webhook-URL mit dem GitHub-Repository verbunden.

    Git-Webhook mit Webhook-URL

  4. Öffnen Sie in einem neuen Browserfenster das GitHub-Repository, das über den Webhook verbunden ist.
    1. Um den Webhook anzuzeigen, den Sie in Code Stream hinzugefügt haben, klicken Sie auf der Registerkarte Einstellungen auf Webhooks.
      Im unteren Bereich der Webhooks-Liste wird die gleiche Webhook-URL angezeigt.

      Webhook-Liste in GitHub

    2. Wenn Sie den Code ändern möchten, klicken Sie auf die Registerkarte Code und wählen Sie eine Datei aus, die Sie im zu bearbeitenden Branch bearbeiten möchten. Übergeben Sie die Änderung.
    3. Um zu überprüfen, ob die Webhook-URL funktioniert, klicken Sie auf der Registerkarte Einstellungen erneut auf Webhooks.
      Im unteren Bereich der Webhooks-Liste wird neben der Webhook-URL ein grünes Häkchen angezeigt. Webhook in GitHub mit grünem Häkchen
  5. Kehren Sie zu Code Stream zurück, um die Aktivität auf dem Git-Webhook anzuzeigen. Klicken Sie auf Auslöser > Git > Aktivität.
    Stellen Sie unter „Ausführungsstatus“ sicher, dass die Pipeline-Ausführung gestartet wurde.

    Aktivität für Git-Auslöser gestartet.

  6. Klicken Sie auf Ausführungen, um Ihre Pipeline während der Ausführung zu verfolgen.
    Zum Überwachen der Pipeline-Ausführung können Sie die Schaltfläche zum Aktualisieren drücken.

    Ausführung der von Git ausgelösten Pipeline

Ergebnisse

Herzlichen Glückwunsch! Sie haben erfolgreich einen Git-Auslöser zum Ausführen einer Pipeline verwendet.