Benachrichtigung 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

  1. 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.

  2. 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 für die Organisationsrichtlinie constraints/iam.automaticIamGrantsForDefaultServiceAccounts aktiviert ist, müssen Sie roles/editor dem Compute Engine-Standarddienstkonto manuell zuweisen.

    Compute Engine-API aktivieren

  3. Aktivieren Sie die Pub/Sub API.

    Pub/Sub API aktivieren

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

  1. Öffnen Sie in der GCP Console die Pub/Sub-Seite Themen.

    Zur Seite "Themen"

  2. Klicken Sie auf Thema erstellen.

  3. Geben Sie im Feld Name den Wert csr-test ein.

  4. Klicken Sie auf Thema erstellen.

    Die Seite Themendetails wird geöffnet.

gcloud

  1. 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)')
    
  2. 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

  1. Öffnen Sie in der GCP Console die Pub/Sub-Seite Themen.

    Zur Seite "Themen"

  2. Klicken Sie auf den Namen des Google Cloud-Projektthemas, das Sie gerade erstellt haben.

  3. Klicken Sie auf dem Tab Abos auf Abo erstellen.

    Die Seite Abo zum Thema hinzufügen wird geöffnet.

  4. Geben Sie für den Namen des Abos csr-subscription-test ein.

  5. Sorgen Sie dafür, dass der Zustellungstyp auf Pull eingestellt ist.

  6. 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.

  1. Wechseln Sie in einem Terminalfenster zum Repository hello-world:

    cd hello-world
    
  2. 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)
    
  3. Fügen Sie die Datei hinzu, um mit Git einen Commit auszuführen.

    git add main.py
    
  4. Führen Sie mit der Datei ein Commit durch:

    git commit -m "Update main.py to test Cloud Pub/Sub notifications"
    
  5. Ü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:

  1. Öffnen Sie in der GCP Console die Pub/Sub-Seite Themen.

    Zur Seite "Themen"

  2. Aktivieren Sie das Kästchen für alle Themen, die endgültig gelöscht werden sollen.

  3. Klicken Sie auf Löschen .

  4. Um alle verbleibenden Abos zu löschen, zeigen Sie sie einzeln an und klicken Sie dann auf Löschen .

So löschen Sie das erstellte Repository:

  1. Öffnen Sie in der GCP Console die Seite Alle Repositories für Cloud Source Repositories.

    Cloud Source Repositories öffnen

  2. Halten Sie den Zeiger über das Repository, das Sie löschen möchten, und klicken Sie auf Einstellungen .

    Die Seite Allgemeine Einstellungen wird geöffnet.

  3. Klicken Sie auf Dieses Repository löschen.

    Das Dialogfeld Repository entfernen wird geöffnet.

  4. Geben Sie den Namen des Repositorys ein, das Sie löschen möchten.

  5. Klicken Sie auf Löschen.

Nächste Schritte