Guida rapida: ricevi una notifica quando il codice cambia in Cloud Source Repositories

Ricevi una notifica quando il codice cambia 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 Crea un repository di codice in Cloud Source Repositories.

    Dopo aver completato la guida rapida, puoi eseguire il deployment di un'app in App Engine.

  2. Abilitare l'API Compute Engine.

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

    Se il vincolo dei criteri dell'organizzazione constraints/iam.automaticIamGrantsForDefaultServiceAccounts è attivo, 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 notifiche per un progetto o un repository Cloud Source Repositories, devi creare un argomento Pub/Sub. Per creare un argomento, puoi utilizzare Google Cloud Console o Google Cloud CLI.

Console

  1. Nella console di GCP, 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 che contiene l'ID del progetto Google Cloud. Assicurati che questo 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

Le sottoscrizioni Pub/Sub consentono agli iscritti di ricevere messaggi dall'argomento di un repository.

Console

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

    Vai alla pagina Argomenti

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

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

    Viene visualizzata la pagina Aggiungi sottoscrizione all'argomento.

  4. Come nome dell'abbonamento, digita csr-subscription-test.

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

  6. Fai clic su Crea.

    Si apre la pagina Dettagli argomento. L'abbonamento è indicato nella scheda Abbonamenti.

gcloud

In una finestra del terminale, esegui questo comando:

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

Associare un argomento a un repository

Utilizzando l'interfaccia a riga di comando di Google Cloud, 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 nel repository hello-world

Dopo aver configurato gli argomenti Pub/Sub e le sottoscrizioni, esegui il push di una modifica nel repository hello-world. Grazie a questa modifica, potrai vedere la notifica al lavoro.

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

    cd hello-world
    
  2. Modifica il file main.py 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 di GCP, vai alla pagina Argomenti di Pub/Sub.

    Vai alla pagina Argomenti

  2. Seleziona la casella di controllo relativa a un qualsiasi argomento che vuoi eliminare definitivamente.

  3. Fai clic su Elimina .

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

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

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

    Cloud Source Repositories

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

    Viene visualizzata 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