Recevez une notification lorsque du code change dans Cloud Source Repositories

Cette page vous explique comment configurer des notifications Pub/Sub pour Cloud Source Repositories.

Avant de commencer

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

  2. 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 manuellement roles/editor au compte de service Compute Engine par défaut.

    Activer l'API Compute Engine

  3. Activez l'API Pub/Sub.

    Activez 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

  1. Dans la console GCP, accédez à la page Sujets de Pub/Sub.

    Accéder à la page Sujets

  2. Cliquez sur Créer un sujet .

  3. Dans le champ Nom, saisissez csr-test.

  4. Cliquez sur Créer un sujet.

    La page Détails du sujet s'affiche.

gcloud

  1. 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)')
    
  2. Exécutez la commande suivante :

    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 d'un sujet de dépôt.

Console

  1. Dans la console GCP, accédez à la page Sujets de Pub/Sub.

    Accéder à la page Sujets

  2. Cliquez sur le nom du sujet associé au projet Google Cloud que vous venez de créer.

  3. Dans l'onglet Abonnements, cliquez sur Créer un abonnement.

    La page Ajouter un abonnement au sujet s'ouvre.

  4. Pour le nom de l'abonnement, saisissez csr-subscription-test.

  5. Vérifiez que le champ Type de distribution est défini sur Pull.

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

  1. Dans une fenêtre de terminal, accédez au dépôt hello-world :

    cd hello-world
    
  2. 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)
    
  3. Ajoutez le fichier afin que Git puisse effectuer un commit sur celui-ci.

    git add main.py
    
  4. Validez le fichier :

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

  1. Dans la console GCP, accédez à la page Sujets de Pub/Sub.

    Accéder à la page Sujets

  2. Cochez la case correspondant aux sujets que vous souhaitez supprimer définitivement.

  3. Cliquez sur Supprimer ().

  4. Pour supprimer les abonnements restants, affichez chacun d'entre eux, puis cliquez sur Supprimer .

Pour supprimer le dépôt que vous avez créé, procédez comme suit :

  1. Dans la console GCP, ouvrez la page Tous les dépôts pour Cloud Source Repositories.

    Ouvrir Cloud Source Repositories

  2. Maintenez le pointeur de la souris sur le dépôt que vous souhaitez supprimer et cliquez sur Paramètres .

    La page Paramètres généraux s'affiche.

  3. Cliquez sur Supprimer ce dépôt .

    La boîte de dialogue Supprimer le dépôt s'ouvre.

  4. Saisissez le nom du dépôt à supprimer.

  5. Cliquez sur Supprimer.

Étapes suivantes