Repositories aus GitHub erstellen

Mit GitHub-Triggern können Sie automatisch auf Git-Push- und -Pull-Anfragen aufbauen und Ihre Build-Ergebnisse in GitHub und in der Cloud Console aufrufen. Darüber hinaus unterstützen GitHub-Trigger alle von den vorhandenen GitHub-Triggern unterstützten Funktionen und verwenden die Cloud Build GitHub-Anwendung zur Konfiguration und Authentifizierung bei GitHub.

Auf dieser Seite wird erläutert, wie Sie GitHub-Trigger erstellen und mit der Cloud Build-GitHub-Anwendung auf GitHub erstellen.

Hinweis

  • Aktivieren Sie die Cloud Build API.

    Aktivieren Sie die API

  • Halten Sie Ihren Quellcode in einem GitHub-Repository bereit.
  • Sie benötigen entweder eine Dockerfile oder eine Cloud Build-Konfigurationsdatei in Ihrem GitHub-Quell-Repository.
  • Wenn Sie Ihr Repository anfangs mit Cloud Build verbinden, benötigen Sie Administratorberechtigungen für Ihr Repository. Weitere Informationen zu GitHub-Repository-Berechtigungen finden Sie unter Repository-Berechtigungsstufen für eine Organisation.
  • Installieren Sie das Cloud SDK, um gcloud-Befehle auf dieser Seite zu verwenden.

Cloud Build-App installieren

So installieren Sie die Cloud Build-App und verbinden das GitHub-Repository mit dem Cloud-Projekt:

  1. Öffnen Sie in der Google Cloud Console die Seite Trigger.

    Seite "Trigger" aufrufen

  2. Wählen Sie in der Projektauswahl in der oberen Leiste Ihr Cloud-Projekt aus.

  3. Klicken Sie auf Repository verbinden.

  4. Wählen Sie GitHub (Cloud Build-GitHub-App) aus, klicken Sie das Kästchen zum Akzeptieren der Nutzungsbedingungen an und klicken Sie dann auf Weiter.

  5. (Optional) Wenn Sie sich noch nicht bei GitHub angemeldet haben, tun Sie es jetzt.

    Die Seite „Autorisierung“ wird eingeblendet. Sie werden darauf aufgefordert, die Google Cloud Build-App zum Herstellen einer Verbindung zu Google Cloud zu autorisieren.

    Screenshot der Schaltfläche "Autorisieren"

    Klicken Sie auf Google Cloud Build durch GoogleCloudBuild autorisieren.

  6. Klicken Sie auf Google Cloud Build installieren.

  7. Wählen Sie im Pop-up-Fenster Ihren GitHub-Nutzernamen oder Ihre Organisation aus.

  8. Wählen Sie je nach Ihren geschäftlichen Anforderungen eine der folgenden Optionen aus:

    • Alle Repositories: Aktivieren Sie alle aktuellen und zukünftigen GitHub-Repositories für den Zugriff über die Cloud Build-App.

    • Nur ausgewählte Repositories: Verwenden Sie das Drop-down-Menü Repositories auswählen, um nur bestimmte Repositories für den Zugriff über die Cloud Build-App zu aktivieren. Sie können später weitere Repositories hinzufügen.

  9. Klicken Sie auf Installieren, um die Cloud Build-App zu installieren.

    Das Pop-up-Fenster wird geschlossen und Sie werden zu einer Projektauswahlseite in Cloud Build weitergeleitet. Auf dieser Seite können Sie ein vorhandenes Cloud-Projekt auswählen oder ein neues Projekt erstellen.

    Wenn auf dieser Seite kein vorhandenes Projekt aufgeführt ist, klicken Sie auf Projekt auswählen, um eine Liste aller vorhandenen Projekte aufzurufen.

  10. Nachdem Sie ein Projekt ausgewählt oder ein neues erstellt haben, wird das Steuerfeld Repository verbinden angezeigt.

  11. Wählen Sie im Bereich Repository auswählen die folgenden Felder aus:

    • GitHub-Konto: Das GitHub-Konto, mit dem die GitHub-Anwendung von Cloud Build installiert wird. Dieses Feld ist möglicherweise bereits für Sie ausgewählt.

    • Repository: Die Repositories, die Sie mit Cloud Build verbinden möchten.

      Falls ein oder mehrere Ziel-Repositories nicht aufgeführt werden, klicken Sie auf Repositories auf GitHub bearbeiten, um die vorangegangenen Schritte zu wiederholen und weitere Repositories in der Cloud Build GitHub-App zu aktivieren.

  12. Nachdem Sie Ihr GitHub-Konto und Ihre Repositories ausgewählt haben, lesen Sie den Haftungsausschluss und klicken Sie auf das Kästchen daneben, um zu bestätigen, dass Sie die angegebenen Bedingungen akzeptieren.

  13. Klicken Sie auf Verbinden.

  14. (Optional) Wählen Sie im Bereich Trigger erstellen die Repositories aus, für die Sie einen Trigger erstellen möchten, im Feld Beispieltrigger für diese Repositories erstellen. aus. Nachdem Sie die Repositories ausgewählt haben, klicken Sie auf Trigger erstellen.

  15. Klicken Sie auf Fertig.

Sie haben nun ein oder mehrere GitHub-Repositories mit Ihrem Cloud-Projekt verbunden. Sie werden zur Seite Trigger in der Cloud Console weitergeleitet.

(Optional) Authentifiziertes GitHub-Konto aktualisieren

Wenn Sie das mit Ihrem Google-Konto verknüpfte GitHub-Konto aktualisieren müssen, rufen Sie die Seite Mit GitHub authentifizieren auf. Dies ist möglicherweise erforderlich, wenn Sie feststellen, Seite „Cloud Build Connect Repository“ gibt an, dass die GitHub-Anwendung nach der Installation der Cloud Build-App auf GitHub nicht in Repositories installiert wurde.

GitHub-Trigger erstellen

Console

So erstellen Sie GitHub-Trigger mit der Google Cloud Console:

  1. Öffnen Sie in der Google Cloud Console die Seite Trigger.

    Seite "Trigger" aufrufen

  2. Wählen Sie oben auf der Seite im Drop-down-Menü zur Projektauswahl Ihr Projekt aus.

  3. Klicken Sie auf Öffnen.

  4. Klicken Sie auf Trigger erstellen.

  5. Geben Sie die folgenden Triggereinstellungen ein:

    • Name: Geben Sie einen Namen für den Trigger ein.

    • Beschreibung (optional): Geben Sie eine Beschreibung für den Trigger ein.

    • Ereignis: Wählen Sie das Repository-Ereignis aus, das den Trigger auslösen soll.

      • Push zu Zweig: Legen Sie den Trigger so fest, dass ein Build für Commits zu einem bestimmten Zweig gestartet wird.

      • Neues Tag mit Push übertragen: Legen Sie den Trigger so fest, dass ein Build für Commits gestartet wird, die ein bestimmtes Tag enthalten.

      • Pull-Anfrage (nur GitHub-App): Legen Sie den Trigger so fest, dass ein Build für Commits zu einer Pull-Anfrage gestartet wird.

    • Quelle: Wählen Sie das Repository und den entsprechenden Zweig oder das entsprechende Tag aus, um es auf Ereignisse zu prüfen.

      • Repository: Wählen Sie aus der Liste der verfügbaren Repositories das gewünschte Repository aus. Informationen zum Verbinden eines neuen Repositories finden Sie unter Zusätzliche Repositories verbinden.

      • Zweig oder Tag: Geben Sie einen regulären Ausdruck mit dem abzugleichenden Zweig- oder Tag-Wert an. Informationen zur zulässigen Syntax für reguläre Ausdrücke finden Sie unter RE2-Syntax.

      • Kommentarsteuerung: Wenn Sie Pull-Anfrage (nur GitHub-App) als Ereignis ausgewählt haben, wählen Sie eine der folgenden Optionen aus, um zu kontrollieren, ob ein Build automatisch vom Trigger ausgeführt wird:

      • Erforderlich, außer für Inhaber und Mitbearbeiter: Wenn eine Pull-Anfrage von einem Repository-Inhaber oder Mitbearbeiter erstellt oder aktualisiert wird, werden Builds automatisch vom Trigger ausgeführt. Wenn ein externer Mitwirkender die Aktion initiiert, werden Builds nur ausgeführt, nachdem ein Inhaber oder Mitbearbeiter /gcbrun zur Pull-Anfrage kommentiert hat.

      • Erforderlich: Wenn eine Pull-Anfrage von einem Mitwirkenden erstellt oder aktualisiert wird, werden Builds erst ausgeführt, nachdem ein Inhaber oder Mitbearbeiter /gcbrun zu der Pull-Anfrage kommentiert hat.

      • Nicht erforderlich: Wenn eine Pull-Anfrage von einem Mitwirkenden erstellt oder aktualisiert wird, werden Builds automatisch durch Trigger ausgeführt.

    • Enthaltene Dateien (optional): Änderungen, die mindestens eine dieser Dateien betreffen, lösen einen Build aus.

    • Ignorierte Dateien (optional): Änderungen, die sich nur auf die ignorierten Dateien beziehen, lösen keinen Build aus.

    • Konfiguration: Wählen Sie die Build-Konfigurationsdatei aus, die sich in Ihrem Remote-Repository befindet, oder erstellen Sie eine Inline-Build-Konfigurationsdatei für den Build.

      • Typ: Wählen Sie den Konfigurationstyp aus, der für Ihren Build verwendet werden soll.
        • Cloud Build-Konfigurationsdatei (YAML oder JSON): Verwenden Sie eine Build-Konfigurationsdatei für Ihre Konfiguration.
        • Dockerfile: Verwenden Sie für Ihre Konfiguration eine Dockerfile.
      • Speicherort: Geben Sie den Speicherort für Ihre Konfiguration an.

        • Repository: Wenn sich Ihre Konfigurationsdatei in Ihrem Remote-Repository befindet, geben Sie den Speicherort Ihrer Build-Konfigurationsdatei oder Dockerfile{101 an. }-Verzeichnis und einen Namen für das resultierende Image. Wenn Ihre Konfiguration ein Dockerfile ist, können Sie optional ein Zeitlimit für Ihren Build angeben. Wenn Sie den Dockerfile und den Image-Namen angegeben haben, sehen Sie eine Vorschau des Befehls docker build, den Ihr Build ausführen soll.
        • Inline: Wenn Sie die Cloud Build-Konfigurationsdatei (YAML oder JSON) als Konfigurationsoption ausgewählt haben, können Sie die Build-Konfiguration inline angeben. Klicken Sie auf Editor öffnen, um Ihre Build-Konfigurationsdatei in der YAML- oder JSON-Syntax in der Google Cloud Console zu schreiben. Klicken Sie auf Fertig, um die Build-Konfiguration zu speichern.
  6. Klicken Sie auf Erstellen, um den Build-Trigger zu speichern.

Informationen zum Erstellen von GitHub-Triggern mit gcloud-Befehlen finden Sie in den gcloud-Befehlen zum Erstellen eines Build-Triggers.

gcloud

Führen Sie den folgenden Befehl aus, um GitHub-Trigger mit gcloud-Befehlen zu erstellen:

    gcloud beta builds triggers create github \
        --repo=REPO_NAME \
        --branch-pattern=BRANCH_PATTERN \ # or --tag-pattern=TAG_PATTERN
        --build-config=BUILD_CONFIG_FILE

Wobei:

  • REPO_NAME ist der Name Ihres Repositorys.
  • BRANCH_PATTERN ist der Zweigname in Ihrem Repository, für den der Build aufgerufen werden soll.
  • TAG_PATTERN ist der Tag-Name in Ihrem Repository, in dem der Build ausgelöst werden soll.
  • BUILD_CONFIG_FILE ist der Pfad zu Ihrer Build-Konfigurationsdatei.

Änderungen erstellen und ansehen

Wenn Sie Builds mit GitHub-Triggern erstellen möchten, müssen Sie Änderungen per Push an Ihr verbundenes Quell-Repository senden oder per Commit übertragen oder den Build für Pull-Anfragen konfigurieren. Nachdem Sie Ihre Änderungen geprüft haben, erstellt Cloud Build Ihren Code.

Rufen Sie den Tab „Prüfungen“ in Ihrem Repository auf, um Ihre Build-Änderungen auf GitHub einzusehen.

Screenshot des Tabs "Conversation"

Sie werden feststellen, dass Cloud Build Ihre Änderungen erstellt hat. Es werden auch andere Build-Details angezeigt, z. B. die Zeit, die zum Erstellen des Codes benötigt wurde, und die Build-ID.

Zum Aufrufen der Build-Änderungen in Cloud Build klicken Sie auf Weitere Details in Google Cloud Build aufrufen. Die Seite Build-Details in der Cloud Console wird geöffnet. Hier finden Sie Build-Informationen wie Status, Logs und Build-Schritte.

Verschiedene Typen von GitHub-basierten Triggern

Wenn sich Ihr Quellcode in GitHub befindet, bietet Cloud Build zwei Möglichkeiten zum automatischen Ausführen Ihrer Builds. In diesem Abschnitt werden die beiden auf GitHub basierenden Trigger erläutert und deren Funktionen verglichen.

  • GitHub-Legacy-Trigger: Wenn Sie einen GitHub-Legacy-Trigger erstellen, wird Ihr GitHub-Repository von Cloud Build in Cloud Source Repositories gespiegelt und dieses gespiegelte Repository für alle Vorgänge verwendet. Sie können mit der Cloud Console GitHub-Trigger erstellen und verwalten.

  • GitHub-Trigger: Dieser Triggertyp verwendet die Cloud Build-GitHub-App zur Konfiguration und Authentifizierung bei GitHub. Mit GitHub-Triggern können Sie automatisch Builds für Git-Push- und Git-Pull-Anfragen starten und die Build-Ergebnisse auf GitHub und in der Cloud Console aufrufen. Sie können mithilfe der Cloud Console oder der Cloud Build API GitHub-Trigger erstellen und verwalten.

  • GitHub Enterprise-Trigger: Mit diesem Triggertyp können Sie Builds als Reaktion auf Commits oder Pull-Anfragen auf einer GitHub Enterprise-Instanz aufrufen. Sie können GitHub Enterprise-Trigger mit der Cloud Console oder der Cloud Build API erstellen und verwalten.

In der folgenden Tabelle werden die Trigger von GitHub, GitHub und Enterprise verglichen:

Feature Alte GitHub-Trigger GitHub-Trigger GitHub Enterprise-Trigger
Builds für Push-Anfragen an Quellcode ausführen Ja Ja Ja
Builds für Pull-Anfragen ausführen Nein Ja Ja
Einen Trigger mit der Cloud Console erstellen Ja Ja Ja
Erstellung von Triggern über die Cloud Build API Nein Ja Ja
Erstellung von Triggern über die Cloud Build-GitHub-App Nein Ja Ja
Anzeige des Build-Status in der Cloud Console Ja Ja Ja
Anzeige des Build-Status auf GitHub Nein Ja Ja

Datenfreigabe

GitHub-Trigger senden Daten an die Cloud Build GitHub-Anwendung. Die an die Anwendung gesendeten Daten unterstützen Sie dabei, Trigger nach Namen zu erkennen und Build-Ergebnisse auf GitHub aufzurufen.

Die folgenden Daten werden derzeit von der Google Cloud und der GitHub-App geteilt:

  • Triggername

Wenn Sie Trigger vor August 2020 erstellt haben, ist die Datenfreigabe für Ihr Projekt möglicherweise nicht aktiviert. Sie können die Datenfreigabe für alle GitHub-Trigger in Ihrem Projekt aktivieren, indem Sie auf dem Tab „Datenfreigabe“ in Cloud Build auf Aktivieren klicken.

Wenn für ein GitHub-Repository erforderliche Statusprüfungen aktiviert sind, kann das Aktivieren der Datenfreigabe vorübergehend die Statusprüfungen beeinträchtigen. Sie können die Konfigurationen für die Statusprüfung so anpassen, dass nach dem Triggernamen gesucht wird:

  • Cloud Build-spezifische erforderliche Prüfungen im GitHub-Repository deaktivieren
  • Datenfreigabe in Cloud Build sicher aktivieren
  • Neuen Build in Cloud Build ausführen, der Status in Ihr Repository überträgt
  • Erforderliche Statusprüfungen wieder aktivieren und Triggername auswählen

Nächste Schritte