Als Code Stream-Administrator oder -Entwickler können Sie Code Stream-Cloud-Dienste in den Git-Lebenszyklus mithilfe des Git-Auslösers 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 eine Pipeline aus. Der Webhook ist mit GitLab, GitHub und der Bitbucket-Cloud sowie mit lokalen Unternehmensversionen kompatibel.

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 mit dieser Aktion auch der Webhook in GitHub, GitLab oder Bitbucket aktualisiert oder gelöscht.

Ihre Webhook-Definition muss einen Git-Endpoint auf dem Branch des Repositorys enthalten, das Sie überwachen. Zum Erstellen des Webhooks verwendet Code Stream den Git-Endpoint. 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.

Hinweis: Ihr Git-Endpoint muss ein privates Token für die Authentifizierung verwenden. Wenn der Git-Endpoint ein Kennwort für die Standardauthentifizierung verwendet, können Sie keinen Webhook erstellen.

Sie können mehrere Webhooks für verschiedene Zweige erstellen, indem Sie denselben Git-Endpoint verwenden und verschiedene Werte für den Namen des Zweigs auf der Konfigurationsseite des Webhooks bereitstellen. Um einen weiteren Webhook für einen anderen Branch im selben Git-Repository zu erstellen, können Sie den Branch-Namen im Webhook angeben, anstatt den Git-Endpoint mehrmals für mehrere Branches zu klonen. Mit diesem Ansatz können Sie den Git-Endpoint wiederverwenden. Wenn der Zweig im Git-Webhook mit dem Zweig im Endpoint übereinstimmt, müssen Sie den Namen des Zweigs nicht auf der Seite des Git-Webhooks angeben.

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 private Token zu einem späteren Zeitpunkt im Endpoint ändern, wird der Webhook weiterhin ausgeführt.
      Hinweis: Wenn Sie zuvor einen Webhook mit einem Git-Endpoint erstellt haben, der ein Kennwort für die Standardauthentifizierung verwendet, müssen Sie den Webhook löschen und mit einem Git-Endpoint neu definieren, der ein privates Token für die Authentifizierung verwendet.
      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.
      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.
      Wenn Sie ein geheimes Token verwenden, 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.
      • Dateieinschlüsse. Wenn eine der Dateien in einem Commit mit den in den Einschlusspfaden oder dem Regex angegebenen Dateien übereinstimmt, werden die Pipelines ausgelöst. Im Fall eines angegebenen Regex löst Code Stream die Pipelines nur dann auf, wenn Dateinamen im Änderungssatz 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.
      • Dateiausschlüsse. Wenn alle Dateien in einem Commit mit den angegebenen Dateien in den Ausschlusspfaden oder dem Regex übereinstimmen, werden die Pipelines nicht ausgelöst.
      • Ausschlüsse priorisieren. 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 mit den angegebenen Dateien in den Ausschlusspfaden oder im Regex übereinstimmt. Die Standardeinstellung ist „Aus“.
      Wenn die Bedingungen sowohl die Dateieinschlüsse als auch die Dateiausschlüsse umfassen, werden Pipelines nicht ausgelöst.

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

      Dateieinschlüsse und -ausschlüsse und ihre Werte werden auf der Registerkarte Webhooks für Git im Auslöser für Git angezeigt und können in Klartext oder als Regex vorliegen.

      • 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 Token generieren.
        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 benutzerdefinierte hinzugefügte Eingabeparametern enthält, 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.

    Die Git-Webhook-URL, die Sie kopieren und in Ihrem Git-Repository verwenden, wird auf der Registerkarte Webhooks für Git im Auslöser für Git angezeigt.

  4. Öffnen Sie in einem neuen Browserfenster das GitHub-Repository, das eine Verbindung über den Webhook herstellt.
    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.

      In Ihrem GitHub-Repository zeigt die Liste der Webhooks am Ende der Liste dieselbe Git-Webhook-URL an.

    2. Wenn Sie den Code ändern möchten, klicken Sie auf die Registerkarte Code und wählen Sie eine Datei im Branch aus. Nachdem Sie die Datei bearbeitet haben, ü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. Wenn der Webhook in GitHub gültig ist, wird ein grünes Häkchen angezeigt.
  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.

    Wenn ein Benutzer eine Datei übergibt, wird der Auslöser für Git aktiviert, und auf der Registerkarte Aktivität wird der Status für den Auslöser als GESTARTET angezeigt.

  6. Klicken Sie auf Ausführungen und verfolgen Sie Ihre Pipeline während der Ausführung.
    Um die Ausführung der Pipeline zu beobachten, können Sie die Schaltfläche „Aktualisieren“ drücken.

    Nach dem Auslösen der Pipeline zeigt die Pipeline-Ausführung den Status als WIRD AUSGEFÜHRT an.

Ergebnisse

Herzlichen Glückwunsch! Sie haben den Auslöser erfolgreich für Git verwendet.