Builds in GitHub ausführen

Cloud Build bietet eine Cloud Build GitHub-Anwendung, mit der Sie Code bei jeder Übertragung eines neuen Commits an GitHub automatisch erstellen können.

In dieser Anleitung erfahren Sie, wie Sie die Anwendung installieren und konfigurieren und Builds automatisch in GitHub auslösen.

Ziele

In dieser Anleitung wird Folgendes beschrieben:

  • Ein GitHub-Repository mit Quellcode zum Erstellen eines Builds vorbereiten.
  • Die Google Cloud Build GitHub-App installieren und konfigurieren.
  • Änderungen am Quellcode auf GitHub vornehmen und eine Pull-Anfrage für diese Änderungen erstellen.
  • Darauf achten, dass die Google Cloud Build-App Ihren Code erstellt und die Ergebnisse für eine Pull-Anfrage veröffentlicht.
  • Ansehen der Build-Ergebnisse auf GitHub und in der Cloud Console.
  • Weitere Informationen über die verschiedenen Möglichkeiten zum Konfigurieren Ihrer Builds.

Kosten

In dieser Anleitung werden die folgenden kostenpflichtigen Komponenten von Google Cloud verwendet:

  • Cloud Build

    Die ersten 120 Build-Minuten pro Tag sind kostenlos. Builds, die darüber hinausgehen, werden Ihnen in Rechnung gestellt. Weitere Informationen finden Sie in der Preisübersicht.

  • Container Registry

    Wenn Sie einen Build mit einem Dockerfile erstellen und das erstellte Image in der Container Registry speichern, fallen Kosten für die Speichernutzung und den ausgehenden Traffic durch Ihre Docker-Images an. Weitere Informationen finden Sie auf der Seite Container Registry-Preise.

Vorbereitung

  1. Melden Sie sich bei Ihrem Google Cloud-Konto an. Wenn Sie mit Google Cloud noch nicht vertraut sind, erstellen Sie ein Konto, um die Leistungsfähigkeit unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
  2. Wählen Sie in der Google Cloud Console auf der Seite der Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.

    Zur Projektauswahl

  3. Die Abrechnung für das Cloud-Projekt muss aktiviert sein. So prüfen Sie, ob die Abrechnung für Ihr Projekt aktiviert ist.

  4. Erstellen Sie ein GitHub-Konto, falls Sie noch keines haben.
  5. Aktivieren Sie die Cloud Build API im Zielprojekt auf der Google Cloud Platform.

    Cloud Build API aktivieren

GitHub-Repository mit Quelldateien vorbereiten

Für die Nutzung der Google Cloud Build-Anwendung muss Ihr Repository entweder ein Dockerfile oder die Datei cloudbuild.yaml zum Konfigurieren des Builds enthalten. Die Datei Dockerfile oder cloudbuild.yaml kann sich im Stammverzeichnis Ihres Repositorys oder in einem Unterverzeichnis Ihres Repositorys befinden.

Das Dockerfileist die Konfigurationsdatei zum Erstellen von Docker-Containern. Wenn Sie die Anwendung für Docker-Builds verwenden, ist es ausreichend, wenn Ihr Repository ein Dockerfile enthält. Das Beispiel in dieser Anleitung ist mit einem Dockerfilekonfiguriert.

cloudbuild.yaml ist die Konfigurationsdatei für Cloud Build. Verwenden Sie in den folgenden Szenarien cloudbuild.yaml:

  • Wenn Sie Ihre Docker-Builds optimieren möchten, können Sie neben Dockerfile auch cloudbuild.yaml angeben. Wenn Ihr Repository ein Dockerfile und cloudbuild.yaml enthält, verwendet die Google Cloud Build-Anwendung das cloudbuild.yaml zur Konfiguration der Builds.

  • Wenn Sie die Google Cloud Build App für Nicht-Docker-Builds verwenden möchten.

Eine Anleitung zum Erstellen von cloudbuild.yaml finden Sie in der Übersicht zur Build-Konfiguration und unter Einfache Build-Konfigurationsdatei erstellen.

Beispiel-Repository verzweigen

Wenn Sie das Beispiel in dieser Anleitung anwenden möchten, benötigen Sie ein GitHub-Repository mit Quellcode zum Erstellen eines Builds. Wir stellen für diesen Zweck ein Beispiel-Repository zur Verfügung, das Sie, bevor Sie fortfahren, verzweigen müssen.

Zur Verzweigung des Beispiel-Repositorys führen Sie die im Folgenden aufgeführten Schritte aus. Die Quelldateien im Repository enthalten eine helloworld.sh-Datei und ein Dockerfile, das Sie zur Erstellung Ihres Docker-Images verwenden.

  1. Gehen Sie auf GitHub zu /GoogleCloudBuild/gcbapp-dockerfile-example.

  2. Klicken Sie in der rechten oberen Ecke der Seite auf Fork.

    Screenshot der Schaltfläche "Fork"

    Nun haben Sie eine Kopie des Repositorys gcbapp-dockerfile-example mit Quelldateien.

Google Cloud Build-App installieren

In diesem Abschnitt installieren Sie die Anwendung Google Cloud Build. So können Sie das GitHub-Repository mit Ihrem Cloud-Projekt verbinden und die kontinuierliche Integration für gcbapp-dockerfile-example einrichten.

Beim Installations- und Einrichtungsvorgang werden Sie zuerst aufgefordert, die Google Cloud Build-App zu autorisieren, um eine Verbindung zur Google Cloud Platform herzustellen. Nach der Autorisierung werden Sie zu Cloud Console weitergeleitet, wo Sie das Cloud-Projekt auswählen. Anschließend werden Sie dann wieder zu GitHub zurückgeleitet.

Mit den folgenden Schritten wird die Anwendung nur für das Repository gcbapp-dockerfile-example installiert. Sie können sie aber auch für mehrere oder alle Repositories installieren.

  1. Falls noch nicht geschehen, aktivieren Sie die Cloud Build API im Zielprojekt der Cloud.

  2. Rufen Sie die GitHub-Marktplatzseite für die Google Cloud Build-App auf.

    Zur Seite "Cloud Build App"

  3. Scrollen Sie zum Ende der Seite und klicken Sie auf Setup with Google Cloud Build (Mit Google Cloud Build einrichten).

  4. Wenn Sie dazu aufgefordert werden, melden Sie sich bei GitHub an.

  5. Wählen Sie auf der Seite Edit your plan (Vertrag bearbeiten) die Zahlungsinformationen aus oder aktualisieren Sie diese. Klicken Sie auf Grant this app access (Zugriff auf diese Anwendung gewähren). Wenn Sie die GitHub Cloud Build-Anwendung bereits gekauft haben und jetzt noch einmal installieren, überspringen Sie diesen Schritt.

  6. 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-Anwendung zu aktivieren. Sie können später weitere Repositories aktivieren.

  7. Klicken Sie auf Installieren.

  8. Melden Sie sich in Google Cloud an.

    Auf der Autorisierungsseite werden Sie aufgefordert, die Google Cloud-Build-App für die Verbindung zur Google Cloud Platform zu autorisieren.

    Screenshot der Schaltfläche "Autorisieren"

  9. Klicken Sie auf Google Cloud Build durch GoogleCloudBuild autorisieren.

    Sie werden zur Cloud Console weitergeleitet.

  10. Wählen Sie Ihr Cloud-Projekt aus.

  11. Klicken Sie auf das Kästchen für die Zustimmung und dann auf Weiter.

  12. Verbinden Sie auf der Seite Repository auswählen die GitHub-Repositories so mit dem Cloud-Projekt:

    a. Bestätigen Sie, dass das richtige GitHub-Konto ausgewählt wurde.

    b. Klicken Sie das Kästchen neben jedem Ziel-Repository an.

    c. Lesen Sie den Haftungsausschluss und klicken Sie anschließend das Kästchen daneben an, um die Nutzungsbedingungen zu akzeptieren.

    d. Klicken Sie auf Repository verbinden.

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

  13. Wenn Sie einen oder mehrere anfängliche Standardtrigger erstellen möchten, die Builds bei jeder Branch-Übertragung auslösen, verwenden Sie die Seite Create a push trigger (Push-Trigger erstellen), die für diese Trigger eingeblendet wird. Klicken Sie die Kästchen neben jedem Ziel-Repository an und klicken Sie auf Push-Trigger erstellen. Andernfalls überspringen Sie diesen Schritt.

Sie haben nun die Google Cloud Build-Anwendung installiert, die ausgewählten Repositories mit Ihrem Cloud-Projekt verbunden und Push-Trigger erstellt, mit denen Ihre Builds gestartet werden.

Zusätzliche Repositories verbinden

Gehen Sie folgendermaßen vor, um weitere Repositories mit Ihrem Cloud-Projekt zu verbinden:

  1. Rufen Sie die Seite Cloud Build-GitHub-Installationen verwalten auf.

  2. Wählen Sie Ihr GitHub-Konto aus und klicken Sie auf Weiter.

  3. Klicken Sie auf Weiteres Projekt hinzufügen.

  4. Wählen Sie unter Projekteinstellungen Ihr Projekt aus oder erstellen Sie ein neues Projekt.

  5. Klicken Sie auf Repository verbinden.

  6. Wählen Sie unter Repository-Auswahl alle Repositories aus, um eine Verbindung zu Ihrem Projekt herzustellen.

  7. Optional können Sie unter Triggereinstellungen alle Repositories auswählen, für die Sie einen Push-Trigger erstellen möchten.

  8. Klicken Sie zum Erstellen eines Triggers auf Push-Trigger erstellen. Klicken Sie andernfalls auf Jetzt überspringen, um zurück zur Liste der verbundenen Repositories zu gelangen.

  9. Klicken Sie auf Fertig.

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 kann erforderlich sein, wenn Sie den Ablauf des ersten Verbindungs-Repositorys mit einem anderen Konto als Ihrem primären GitHub-Konto unterbrochen haben. 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.

Build mit der Google Cloud Build-App erstellen

Die Quelldateien in gcbapp-dockerfile-example bestehen aus einer einfachen helloworld.sh-Datei und einem Dockerfile. In diesem Abschnitt nehmen Sie Änderungen im Code von helloworld.sh vor und erstellen eine Pull-Anfrage, um Ihre Änderungen zu prüfen.

Die Google Cloud Build-App erstellt Ihren Code, wenn Sie ein neues Commit an das Repository senden. Builds für Push-Commits, die in Pull-Anfragen enthalten sind, werden in die UI der Pull-Anfragen aufgenommen.

  1. Öffnen Sie helloworld.sh in gcbapp-dockerfile-example:

    https://github.com/[GITHUB_USERNAME]/gcbapp-dockerfile-example/blob/master/helloworld.sh
    
  2. Klicken Sie auf das Stiftsymbol, um die Datei zu bearbeiten.

    Screenshot der Schaltfläche "Datei bearbeiten"

  3. Fügen Sie am Ende der Datei die folgende Zeile hinzu:

    echo "The time is $(date)."
    
  4. Wählen Sie Neuen Branch für diesen Commit erstellen und Pull-Anfrage starten aus und klicken Sie auf Dateiänderung vorschlagen.

  5. Klicken Sie auf Pull-Anfrage erstellen.

    Dadurch wird Cloud Build gestartet, um Ihren Code zu erstellen.

  6. Wechseln Sie zum Tab Checks.

    Screenshot des Tabs "Checks"

    Sie werden feststellen, dass Cloud Build Ihre Änderungen erstellt hat und Ihr Build erfolgreich war. Andere Build-Details wie die Zeit, die für die Erstellung Ihres Codes benötigt wurde, die Build-ID usw. werden ebenfalls angezeigt.

  7. Klicken Sie auf Weitere Details in Google Cloud Build anzeigen.

    Die Seite Build-Details in der Cloud Console wird geöffnet. Hier können Sie Build-Informationen wie Status, Logs und Build-Schritte einsehen.

  8. Wechseln Sie in Ihrem Browser zum Tab GitHub und klicken Sie dann auf den Tab Conversation (Kommunikation).

    Screenshot des Tabs "Conversation"

  9. Klicken Sie auf Merge pull request (Pull-Anfrage zusammenführen) und dann auf Confirm merge (Zusammenführung bestätigen).

    Geschafft! Sie haben überprüft, ob Ihr Code Builds richtig ändert, und Ihre Änderungen eingecheckt.

Weitere Beispiele

Hier sind einige Beispiel-Repositories, die Codebeispiele mit cloudbuild.yaml als Konfigurationsdatei enthalten. Sie können die Repositories abspalten und die in dieser Anleitung beschriebenen Schritte verwenden, um den Code zu erstellen:

Bereinigen

Nachdem Sie diese Anleitung für Cloud Build abgeschlossen haben, können Sie die in Google Cloud erstellten Ressourcen bereinigen, damit diese keine kostenpflichtigen Kontingente verbrauchen. In den folgenden Abschnitten erfahren Sie, wie Sie diese Ressourcen löschen oder deaktivieren.

Entfernen der Verbindung zwischen dem Repository und der Google Cloud Build-App

Entfernen Sie die Verbindung zwischen Ihrem Repository und der Anwendung wie im Folgenden beschrieben, wenn Sie das Triggern von Builds mit der Cloud Build-Anwendung beenden möchten:

  1. Rufen Sie die Einstellungsseite Ihres GitHub-Profils auf:

    Zur Seite "GitHub-Profil"

  2. Melden Sie sich in Ihrem GitHub-Konto an.

  3. Klicken Sie unter Persönliche Einstellungen auf Anwendungen.

  4. Suchen Sie die Zeile mit Google Cloud Build und klicken Sie auf Konfigurieren.

  5. Suchen Sie unter Repository-Zugriff nach [YOUR_GITHUB_USERNAME]/gcbapp-dockerfile-example und klicken Sie auf X.

  6. Klicken Sie auf Speichern.

    Sie werden zu Google Cloud weitergeleitet.

  7. In Google Cloud anmelden

  8. Suchen Sie auf der Cloud Build-Seite die Verbindung zwischen Ihrem Cloud-Projekt und gcb-dockerfile-example und klicken Sie auf Verknüpfung aufheben.

Sie haben nun die Verbindung zwischen gcb-dockerfile-example und der Google Cloud Build-Anwendung aufgehoben und Cloud Build löst keine Builds mehr für den Code in gcb-dockerfile-example aus.

Google Cloud Build App deinstallieren

  1. Rufen Sie die GitHub App-Seite für Google Cloud Build auf.

    Zur Seite "Cloud Build App"

  2. Klicken Sie auf Konfigurieren.

  3. Wählen Sie Ihren Nutzernamen oder Ihre Organisation aus, für den bzw. die Sie die App installiert haben.

  4. Klicken Sie auf Deinstallieren.

GitHub-Repository löschen

  1. Gehen Sie auf GitHub zur Repository-Hauptseite.

    https://github.com/[GITHUB_USERNAME]/gcbapp-dockerfile-example
    
  2. Klicken Sie unter Ihrem Repository-Namen auf Settings (Einstellungen).

  3. Klicken Sie unter "Danger Zone" auf Delete this repository (Dieses Repository löschen).

  4. Geben Sie den Namen Ihres Repositorys zur Bestätigung ein und klicken Sie dann auf I understand the consequences, delete this repository (Ich verstehe die Auswirkungen, dieses Repository löschen).

Container-Images löschen

  1. Rufen Sie in der Google Cloud Console die Seite "Container Registry" auf.

    Zur Seite "Container Registry"

  2. Wählen Sie Ihr Projekt aus und klicken Sie auf Öffnen.

  3. Öffnen Sie gcbapp-dockerfile-example.

  4. Wählen Sie alle Images aus und klicken Sie auf Löschen.

Die Images, die Sie als Teil dieser Anleitung erstellt haben, werden aus Ihrem Projekt gelöscht.

Projekt löschen

Am einfachsten vermeiden Sie weitere Kosten, wenn Sie das zum Ausführen der Anleitung erstellte Projekt löschen.

So löschen Sie das Projekt:

  1. Wechseln Sie in der Cloud Console zur Seite Ressourcen verwalten.

    Zur Seite „Ressourcen verwalten“

  2. Wählen Sie in der Projektliste das Projekt aus, das Sie löschen möchten, und klicken Sie dann auf Löschen.
  3. Geben Sie im Dialogfeld die Projekt-ID ein und klicken Sie auf Shut down (Beenden), um das Projekt zu löschen.

Nächste Schritte