Sie können Benachrichtigungen über Änderungen an Ihren Google Cloud-Repositories mit Pub/Sub erhalten. Diese Benachrichtigungen informieren Sie darüber, wenn ein Nutzer ein neues Repository erstellt, ein Repository löscht oder eine Änderung an ein vorhandenes Repository sendet. Sie können Benachrichtigungen für bestimmte Repositories oder für ein gesamtes Google Cloud-Projekt konfigurieren.
Weitere Informationen zu Pub/Sub finden Sie unter Was ist Pub/Sub?
Hinweise
- Erstellen Sie ein Repository, falls noch nicht geschehen.
- Prüfen Sie, ob Sie die erforderlichen Berechtigungen zum Erstellen von Themen und Abos haben. Weitere Informationen finden Sie unter Zugriffssteuerung.
- Sorgen Sie dafür, dass Sie ein Dienstkonto haben, das in Ihrem Thema veröffentlichen kann. Standardmäßig verwendet Cloud Source Repositories das Compute Engine-Standarddienstkonto zum Veröffentlichen von Nachrichten. Weitere Informationen finden Sie unter Pub/Sub-Benachrichtigungen für Cloud Source Repositories.
Pub/Sub-Thema erstellen
Für jedes Cloud Source Repositories-Projekt oder Repository, für das Sie Benachrichtigungen erhalten möchten, müssen Sie ein Pub/Sub-Thema erstellen. Sie können
Ein Thema mithilfe der Google Cloud Console oder der gcloud
-Befehlszeile
.
Wenn Sie ein Thema erstellen, brauchen Sie einen qualifizierten URI für Ihr Repository. Der qualifizierte URI ist:
projects/[PROJECT_ID]/topics/[TOPIC_NAME]
Dabei gilt:
[PROJECT_ID]
ist Ihre Google Cloud-Projekt-ID.[TOPIC_NAME]
ist der Name des Themas.
Führen Sie die folgenden Schritte aus, um ein Thema zu erstellen.
Console
Öffnen Sie in der Google Cloud Console die Pub/Sub-Seite Themen.
Klicken Sie auf Thema erstellen.
Geben Sie einen Themennamen mit folgendem URI ein:
projects/[PROJECT_ID]/topics/[TOPIC_NAME]
Dabei gilt:
[PROJECT_ID]
ist Ihre Google Cloud-Projekt-ID.[TOPIC_NAME]
ist der Name des Themas.
Klicken Sie auf Erstellen.
Die Seite Themendetails wird geöffnet.
gcloud
Führen Sie in einem Terminalfenster den folgenden Befehl aus:
gcloud pubsub topics create projects/[PROJECT_ID]/topics/[TOPIC_NAME]
Dabei gilt:
[PROJECT_ID]
ist Ihre Google Cloud-Projekt-ID.[TOPIC_NAME]
ist der Name des Themas.
Weitere Informationen zum Befehl gcloud pubsub topics
finden Sie in der topics
-Dokumentation.
Pub/Sub-Abo erstellen
Wenn Sie Ereignisse empfangen möchten, die für ein Thema veröffentlicht werden, müssen Sie ein Pub/Sub-Abo erstellen.
Eine Abonnenten-App empfängt Nachrichten aus dem Thema Ihres Repositorys. Abonnenten können auf Ihre Repository-Ereignisse reagieren, indem sie Benachrichtigungen senden oder einen Build auslösen.
Führen Sie die folgenden Schritte aus, um ein Abo zu erstellen.
Console
Öffnen Sie in der Google Cloud Console die Pub/Sub-Seite Themen.
Klicken Sie auf den Namen des Themas Ihres Projekts.
Klicken Sie auf Abo erstellen.
Die Seite Abo zum Thema hinzufügen wird geöffnet.
Geben Sie einen Namen für das Abo ein:
projects/[PROJECT_ID]/subscriptions/[SUBSCRIPTION_NAME]
Dabei gilt:
[PROJECT_ID]
ist Ihre Google Cloud-Projekt-ID.[SUBSCRIPTION_NAME]
ist der Name des Pub/Sub-Abos.
Belassen Sie den Zustellungstyp bei Pull.
Klicken Sie auf Erstellen.
gcloud
Führen Sie in einem Terminalfenster den folgenden Befehl aus:
gcloud pubsub subscriptions create [SUBSCRIPTION_NAME] --topic=[TOPIC_NAME]
Dabei gilt:
[SUBSCRIPTION_NAME]
ist der Name des Pub/Sub-Abos.[TOPIC_NAME]
ist der Name des Themas.
Weitere Informationen zum Befehl gcloud pubsub subscriptions
finden Sie in der subscriptions
-Dokumentation.
Thema hinzufügen
Sie können ein Pub/Sub-Thema mit einem Projekt oder Repository mithilfe der Google Cloud CLI erstellen.
Geben Sie zum Verknüpfen eines Themas mit einem gesamten Projekt den folgenden Befehl ein:
gcloud source project-configs update --add-topic=[TOPIC_NAME] --service-account=[SERVICE_ACCOUNT_NAME]
Dabei gilt:
[TOPIC_NAME]
ist der Name des Pub/Sub-Themas.[SERVICE_ACCOUNT_NAME]
ist der Name Ihres Cloud Build-Dienstkontos.
Geben Sie zum Verknüpfen eines Themas mit einem bestimmten Repository den folgenden Befehl ein:
gcloud source repos update [REPOSITORY_NAME] --add-topic=[TOPIC_NAME] --service-account=[SERVICE_ACCOUNT_NAME]
Dabei gilt:
[REPOSITORY_NAME]
ist der Name Ihres Google Cloud-Repositorys.[TOPIC_NAME]
ist der Name des Pub/Sub-Themas.[SERVICE_ACCOUNT_NAME]
ist der Name Ihres Cloud Build-Dienstkontos.
Das Dienstkonto muss sich im selben Projekt wie das Repository befinden und eine pubsub.topics.publish
-Berechtigung zum Veröffentlichen einer Nachricht an das angegebene Thema haben. Sie benötigen eine iam.serviceAccounts.actAs
-Berechtigung für das Dienstkonto. Wenn das Dienstkonto nicht angegeben ist, wird standardmäßig das Compute Engine-Standarddienstkonto verwendet.
Thema löschen
Mit der Google Cloud CLI können Sie eine Verknüpfung zwischen einem Projekt oder Repository und einem Pub/Sub-Thema entfernen.
Geben Sie den folgenden Befehl ein, um ein Thema aus einem gesamten Projekt zu entfernen:
gcloud source project-configs update --remove-topic=[TOPIC_NAME]
Geben Sie den folgenden Befehl ein, um ein Thema aus einem bestimmten Repository zu entfernen:
gcloud source repos update [REPOSITORY_NAME] --remove-topic=[TOPIC_NAME]
Themenformat festlegen
Benachrichtigungen für Cloud Source Repositories können entweder das JSON- oder Protocol Buffers-Format verwenden. Um das Format für ein Thema festzulegen, können Sie beim Hinzufügen des Themas den Parameter --message-format
verwenden:
gcloud source project-configs update --add-topic=[TOPIC_NAME] --message-format=[json|protobuf]
Sie können auch den Befehl set-format
verwenden:
gcloud source project-configs update --update-topic=[TOPIC_NAME] --message-format=[json|protobuf]
Nächste Schritte
- Weitere Informationen zu Pub/Sub-Benachrichtigungen für Cloud Source Repositories
- Lesen Sie die Pub/Sub-Dokumentation.
- Eine ausführliche Erläuterung zu Pub/Sub finden Sie unter Was ist Pub/Sub?
- Weitere Informationen zu Pub/Sub-Zugriffssteuerungsrollen