Ricevi notifiche quando il codice viene modificato in Cloud Source Repositories

Questa pagina mostra come configurare le notifiche Pub/Sub per Cloud Source Repositories.

Prima di iniziare

  1. Completa i passaggi descritti in Creare un repository di codice in Cloud Source Repositories.

    Una volta completata la guida rapida, avrai un'app di cui puoi eseguire il deployment in App Engine.

  2. Abilitare l'API Compute Engine.

    In questa guida rapida, viene utilizzato l'account di servizio predefinito di Compute Engine per pubblicare messaggi in Pub/Sub.

    Se il vincolo del criterio dell'organizzazione constraints/iam.automaticIamGrantsForDefaultServiceAccounts è attivato, assicurati di concedere manualmente roles/editor all'account di servizio predefinito di Compute Engine.

    Abilita l'API Compute Engine

  3. Abilita l'API Pub/Sub.

    Abilita l'API Pub/Sub

crea un argomento Pub/Sub

Per ricevere le notifiche per un progetto o un repository Cloud Source Repositories, devi creare un argomento Pub/Sub. Puoi utilizzare la console Google Cloud o Google Cloud CLI per creare un argomento.

Console

  1. Nella console Google Cloud, vai alla pagina Argomenti di Pub/Sub.

    Vai alla pagina Argomenti

  2. Fai clic su Crea argomento .

  3. Nel campo Nome, digita csr-test.

  4. Fai clic su Crea argomento.

    Si apre la pagina Dettagli argomento.

gcloud

  1. In una finestra del terminale, imposta una variabile contenente il tuo ID progetto Google Cloud. Assicurati che sia lo stesso progetto Google Cloud che contiene il tuo repository.

    export PROJECT_ID=$(gcloud config list --format 'value(core.project)')
    
  2. Esegui questo comando:

    gcloud pubsub topics create projects/$PROJECT_ID/topics/csr-test
    

crea una sottoscrizione Pub/Sub

Crea una sottoscrizione pull, push o BigQuery.

Le sottoscrizioni Pub/Sub consentono ai sottoscritti di ricevere messaggi dall'argomento di un repository.

Console

  1. Nella console Google Cloud, vai alla pagina Argomenti di Pub/Sub.

    Vai alla pagina Argomenti

  2. Fai clic sul nome dell'argomento del progetto Google Cloud che hai appena creato.

  3. Nella scheda Abbonamenti, fai clic su Crea abbonamento.

    Viene visualizzata la pagina Aggiungi sottoscrizione all'argomento.

  4. Come nome della sottoscrizione, digita csr-subscription-test.

  5. Assicurati che l'opzione Tipo di consegna sia impostata su Pull.

  6. Fai clic su Crea.

    Si apre la pagina Dettagli argomento. Il tuo abbonamento è elencato nella scheda Abbonamenti.

gcloud

In una finestra del terminale, esegui questo comando:

gcloud pubsub subscriptions create csr-subscription-test --topic=csr-test

Associa un argomento a un repository

Utilizza Google Cloud CLI, associa un argomento Pub/Sub a un repository specifico:

gcloud source repos update hello-world --add-topic=csr-test

Viene visualizzato un output simile al seguente:

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

Esegui il push di una modifica al repository hello-world

Una volta configurati gli argomenti e le sottoscrizioni Pub/Sub, esegui il push di una modifica nel repository hello-world. Questa modifica ti consente di vedere la notifica in attività.

  1. In una finestra del terminale, vai al repository hello-world:

    cd hello-world
    
  2. Modifica il file main.py in modo che si legga come segue:

    #!/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. Aggiungi il file in modo che Git possa eseguirne il commit:

    git add main.py
    
  4. Esegui il commit del file:

    git commit -m "Update main.py to test Cloud Pub/Sub notifications"
    
  5. Esegui il push del file in Cloud Source Repositories:

    git push origin master
    

Visualizza la notifica

Quando esegui il push di una modifica nel repository, Pub/Sub invia una notifica. Per visualizzare questa notifica, inserisci il seguente comando:

gcloud pubsub subscriptions pull csr-subscription-test

Esegui la pulizia

Per eliminare le risorse Pub/Sub, segui questi passaggi.

  1. Nella console Google Cloud, vai alla pagina Argomenti di Pub/Sub.

    Vai alla pagina Argomenti

  2. Seleziona la casella di controllo relativa agli argomenti da eliminare definitivamente.

  3. Fai clic su Elimina .

  4. Per eliminare gli eventuali abbonamenti rimanenti, visualizzali tutti e fai clic su Elimina .

Per eliminare il repository che hai creato, segui questi passaggi.

  1. Nella console Google Cloud, apri la pagina Tutti i repository per Cloud Source Repositories.

    Repository Open Cloud Source

  2. Tieni il puntatore sul repository che vuoi eliminare e fai clic su Impostazioni .

    Si apre la pagina Impostazioni generali.

  3. Fai clic su Elimina questo repository .

    Viene visualizzata la finestra di dialogo Rimuovi repository.

  4. Digita il nome del repository che vuoi eliminare.

  5. Fai clic su Elimina.

Passaggi successivi