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
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.
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 manualmenteroles/editor
all'account di servizio predefinito di Compute Engine.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
Nella console Google Cloud, vai alla pagina Argomenti di Pub/Sub.
Fai clic su Crea argomento add_box.
Nel campo Nome, digita
csr-test
.Fai clic su Crea argomento.
Si apre la pagina Dettagli argomento.
gcloud
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)')
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
Nella console Google Cloud, vai alla pagina Argomenti di Pub/Sub.
Fai clic sul nome dell'argomento del progetto Google Cloud che hai appena creato.
Nella scheda Abbonamenti, fai clic su Crea abbonamento.
Viene visualizzata la pagina Aggiungi sottoscrizione all'argomento.
Come nome della sottoscrizione, digita
csr-subscription-test
.Assicurati che l'opzione Tipo di consegna sia impostata su Pull.
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à.
In una finestra del terminale, vai al repository
hello-world
:cd hello-world
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)
Aggiungi il file in modo che Git possa eseguirne il commit:
git add main.py
Esegui il commit del file:
git commit -m "Update main.py to test Cloud Pub/Sub notifications"
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.
Nella console Google Cloud, vai alla pagina Argomenti di Pub/Sub.
Seleziona la casella di controllo relativa agli argomenti da eliminare definitivamente.
Fai clic su Elimina delete.
Per eliminare gli eventuali abbonamenti rimanenti, visualizzali tutti e fai clic su Elimina delete.
Per eliminare il repository che hai creato, segui questi passaggi.
Nella console Google Cloud, apri la pagina Tutti i repository per Cloud Source Repositories.
Tieni il puntatore sul repository che vuoi eliminare e fai clic su Impostazioni settings.
Si apre la pagina Impostazioni generali.
Fai clic su Elimina questo repository delete.
Viene visualizzata la finestra di dialogo Rimuovi repository.
Digita il nome del repository che vuoi eliminare.
Fai clic su Elimina.
Passaggi successivi
- Scopri di più sulla configurazione delle notifiche per Cloud Source Repositories.
- Scopri di più sulle notifiche Pub/Sub per Cloud Source Repositories.
- Leggi la documentazione di Pub/Sub.
- Per una spiegazione approfondita di Pub/Sub, consulta Che cos'è Pub/Sub?
- Scopri di più sui ruoli di controllo dell'accesso Pub/Sub.