Recevez une notification lorsque du code est modifié dans Cloud Source Repositories
Cette page vous explique comment configurer des notifications Pub/Sub pour Cloud Source Repositories.
Avant de commencer
Suivez les étapes de la section Créer un dépôt de code dans Cloud Source Repositories.
Une fois le guide de démarrage rapide terminé, vous disposez d'une application que vous pouvez déployer sur App Engine.
Activez l'API Compute Engine.
Dans ce guide de démarrage rapide, le compte de service Compute Engine par défaut permet de publier des messages dans Pub/Sub.
Si la contrainte de règle d'administration
constraints/iam.automaticIamGrantsForDefaultServiceAccounts
est activée, veillez à accorder manuellementroles/editor
au compte de service Compute Engine par défaut.activer l'API Pub/Sub ;
Créer un sujet Pub/Sub
Pour recevoir des notifications sur un projet ou dépôt Cloud Source Repositories, vous devez créer un sujet Pub/Sub. Vous pouvez utiliser la console Google Cloud ou la Google Cloud CLI pour créer un sujet.
Console
Dans la console Google Cloud, accédez à la page Sujets de Pub/Sub.
Cliquez sur Créer un sujet add_box.
Dans le champ Nom, saisissez
csr-test
.Cliquez sur Créer un sujet.
La page Détails du sujet s'affiche.
gcloud
Dans une fenêtre de terminal, définissez une variable contenant votre ID de projet Google Cloud. Assurez-vous qu'il s'agit du même projet Google Cloud qui contient votre dépôt.
export PROJECT_ID=$(gcloud config list --format 'value(core.project)')
Exécutez la commande ci-dessous.
gcloud pubsub topics create projects/$PROJECT_ID/topics/csr-test
Créer un abonnement Pub/Sub
Créez un abonnement pull, push ou BigQuery.
Les abonnements Pub/Sub permettent aux abonnés de recevoir des messages issus du sujet d'un dépôt.
Console
Dans la console Google Cloud, accédez à la page Sujets de Pub/Sub.
Cliquez sur le nom du sujet associé au projet Google Cloud que vous venez de créer.
Dans l'onglet Abonnements, cliquez sur Créer un abonnement.
La page Ajouter un abonnement au sujet s'ouvre.
Pour le nom de l'abonnement, saisissez
csr-subscription-test
.Vérifiez que le champ Type de distribution est défini sur Pull.
Cliquez sur Créer.
La page Détails du sujet s'affiche. Votre abonnement est répertorié dans l'onglet Abonnements.
gcloud
Dans une fenêtre de terminal, exécutez la commande suivante :
gcloud pubsub subscriptions create csr-subscription-test --topic=csr-test
Associer un sujet à un dépôt
À l'aide de la Google Cloud CLI, associez un sujet Pub/Sub à un dépôt spécifique:
gcloud source repos update hello-world --add-topic=csr-test
Le résultat doit être semblable à ce qui suit :
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
Exécuter une modification dans le dépôt hello-world
Une fois vos sujets Pub/Sub et abonnements configurés, exécutez une modification dans le dépôt hello-world
. Cette modification permet de voir le fonctionnement de la notification.
Dans une fenêtre de terminal, accédez au dépôt
hello-world
:cd hello-world
Modifiez le fichier
main.py
comme suit :#!/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)
Ajoutez le fichier afin que Git puisse effectuer un commit sur celui-ci.
git add main.py
Validez le fichier :
git commit -m "Update main.py to test Cloud Pub/Sub notifications"
Transférez le fichier vers Cloud Source Repositories :
git push origin master
Afficher la notification
Lorsque vous déployez une modification dans le dépôt, Pub/Sub envoie une notification. Pour afficher cette notification, saisissez la commande suivante :
gcloud pubsub subscriptions pull csr-subscription-test
Effectuer un nettoyage
Pour supprimer vos ressources Pub/Sub, procédez comme suit :
Dans la console Google Cloud, accédez à la page Sujets de Pub/Sub.
Cochez la case correspondant aux sujets que vous souhaitez supprimer définitivement.
Cliquez sur Supprimer (delete).
Pour supprimer les abonnements restants, affichez chacun d'entre eux, puis cliquez sur Supprimer delete.
Pour supprimer le dépôt que vous avez créé, procédez comme suit :
Dans la console Google Cloud, ouvrez la page Tous les dépôts pour Cloud Source Repositories.
Maintenez le pointeur de la souris sur le dépôt que vous souhaitez supprimer et cliquez sur Paramètres settings.
La page Paramètres généraux s'affiche.
Cliquez sur Supprimer ce dépôt delete.
La boîte de dialogue Supprimer le dépôt s'ouvre.
Saisissez le nom du dépôt à supprimer.
Cliquez sur Supprimer.
Étapes suivantes
- Découvrez la configuration des notifications pour Cloud Source Repositories.
- Apprenez-en plus sur les notifications Pub/Sub pour Cloud Source Repositories.
- Consultez la documentation sur Pub/Sub.
- Pour obtenir une présentation détaillée de Pub/Sub, consultez la page Qu'est-ce que Pub/Sub ?.
- Apprenez-en plus sur les rôles de contrôle des accès Pub/Sub.