Benachrichtigungen erhalten, wenn Code in Cloud Source Repositories geändert wird
Auf dieser Seite wird beschrieben, wie Sie Pub/Sub-Benachrichtigungen für Cloud Source Repositories einrichten.
Hinweise
Führen Sie die Schritte unter Code-Repository in Cloud Source Repositories erstellen aus.
Nach Abschluss dieser Kurzanleitung haben Sie eine Anwendung, die Sie in App Engine bereitstellen können.
Aktivieren Sie die Compute Engine API.
In dieser Kurzanleitung wird das Compute Engine-Standarddienstkonto zum Veröffentlichen von Nachrichten in Pub/Sub verwendet.
Wenn die Einschränkung der Organisationsrichtlinie
constraints/iam.automaticIamGrantsForDefaultServiceAccounts
aktiviert ist, müssen Sieroles/editor
dem Compute Engine-Standarddienstkonto manuell zuweisen.Aktivieren Sie die Pub/Sub API.
Pub/Sub-Thema erstellen
Um Benachrichtigungen für ein Cloud Source Repositories-Projekt oder Repository zu erhalten, müssen Sie ein Pub/Sub-Thema erstellen. Sie können entweder die Google Cloud Console oder die Google Cloud CLI verwenden, um ein Thema zu erstellen.
Console
Rufen Sie in der Google Cloud Console die Pub/Sub-Seite Themen auf.
Klicken Sie auf Thema erstellenadd_box.
Geben Sie im Feld Name den Wert
csr-test
ein.Klicken Sie auf Thema erstellen.
Die Seite Themendetails wird geöffnet.
gcloud
Legen Sie in einem Terminalfenster eine Variable fest, die Ihre Google Cloud-Projekt-ID enthält. Sorgen Sie dafür, dass es sich um dasselbe Google Cloud-Projekt handelt, das Ihr Repository enthält.
export PROJECT_ID=$(gcloud config list --format 'value(core.project)')
Führen Sie dazu diesen Befehl aus:
gcloud pubsub topics create projects/$PROJECT_ID/topics/csr-test
Pub/Sub-Abo erstellen
Erstellen Sie ein pull-, push- oder BigQuery-Abo.
Mit Pub/Sub-Abos erhalten Abonnenten Nachrichten aus dem Thema eines Repositorys.
Console
Rufen Sie in der Google Cloud Console die Pub/Sub-Seite Themen auf.
Klicken Sie auf den Namen des Google Cloud-Projektthemas, das Sie gerade erstellt haben.
Klicken Sie auf dem Tab Abos auf Abo erstellen.
Die Seite Abo zum Thema hinzufügen wird geöffnet.
Geben Sie für den Namen des Abos
csr-subscription-test
ein.Sorgen Sie dafür, dass der Zustellungstyp auf Pull eingestellt ist.
Klicken Sie auf Erstellen.
Die Seite Themendetails wird geöffnet. Ihr Abo ist auf dem Tab Abos aufgeführt.
gcloud
Führen Sie in einem Terminalfenster den folgenden Befehl aus:
gcloud pubsub subscriptions create csr-subscription-test --topic=csr-test
Thema mit Repository verknüpfen
Verknüpfen Sie über die Google Cloud CLI ein Pub/Sub-Thema mit einem bestimmten Repository:
gcloud source repos update hello-world --add-topic=csr-test
Es wird eine Ausgabe angezeigt, die etwa so aussieht:
name: projects/csr-quickstart-test/repos/hello-world
pubsubConfigs:
projects/csr-quickstart-test/topics/csr-test:
messageFormat: JSON
serviceAccountEmail: 604898361241-compute@developer.gserviceaccount.com
topic: projects/csr-quickstart-test/topics/csr-test
url: https://source.developers.google.com/p/csr-quickstart-test/r/hello-world
Änderung per Push zum Repository hello-world
übertragen
Wenn Pub/Sub-Themen und -Abos eingerichtet sind, übertragen Sie eine Änderung per Push an das Repository hello-world
. Durch diese Änderung sehen Sie, wie die Benachrichtigungen funktionieren.
Wechseln Sie in einem Terminalfenster zum Repository
hello-world
:cd hello-world
Bearbeiten Sie die zu lesende Datei
main.py
so:#!/usr/bin/env python import webapp2 class MainHandler(webapp2.RequestHandler): def get(self): self.response.write('Hello, Cloud Pub/Sub!') app = webapp2.WSGIApplication([ ('/', MainHandler) ], debug=True)
Fügen Sie die Datei hinzu, um mit Git einen Commit auszuführen.
git add main.py
Führen Sie mit der Datei ein Commit durch:
git commit -m "Update main.py to test Cloud Pub/Sub notifications"
Übertragen Sie die Datei per Push an Cloud Source Repositories.
git push origin master
Benachrichtigung ansehen
Wenn Sie eine Änderung per Push an Ihr Repository übertragen, sendet Pub/Sub eine Benachrichtigung. Geben Sie den folgenden Befehl ein, um diese Benachrichtigung aufzurufen:
gcloud pubsub subscriptions pull csr-subscription-test
Bereinigen
So löschen Sie Ihre Pub/Sub-Ressourcen:
Rufen Sie in der Google Cloud Console die Pub/Sub-Seite Themen auf.
Aktivieren Sie das Kästchen für alle Themen, die endgültig gelöscht werden sollen.
Klicken Sie auf Löschen delete.
Um alle verbleibenden Abos zu löschen, zeigen Sie sie einzeln an und klicken Sie dann auf Löschen delete.
So löschen Sie das erstellte Repository:
Öffnen Sie in der Google Cloud Console die Seite Alle Repositories für Cloud Source Repositories.
Halten Sie den Zeiger über das Repository, das Sie löschen möchten, und klicken Sie auf Einstellungen settings.
Die Seite Allgemeine Einstellungen wird geöffnet.
Klicken Sie auf Dieses Repository löschendelete.
Das Dialogfeld Repository entfernen wird geöffnet.
Geben Sie den Namen des Repositorys ein, das Sie löschen möchten.
Klicken Sie auf Löschen.
Nächste Schritte
- Weitere Informationen zum Konfigurieren von Benachrichtigungen für Cloud Source Repositories
- Weitere Informationen zu Pub/Sub-Benachrichtigungen für Cloud Source Repositories
- Lesen Sie die Pub/Sub-Dokumentation.
- Ausführliche Erläuterungen zu Pub/Sub finden Sie unter Was ist Pub/Sub?.
- Lesen Sie mehr zum Thema Pub/Sub-Zugriffssteuerungsrollen.