Puoi ricevere notifiche per le modifiche apportate al tuo account Google Cloud mediante Pub/Sub. Queste notifiche ti informano quando un utente crea un nuovo repository, ne elimina uno o esegue il push di una modifica in un repository esistente. Puoi scegliere di configurare le notifiche per repository specifici o per un intero progetto Google Cloud.
Per saperne di più su Pub/Sub, consulta Che cos'è Pub/Sub?
Prima di iniziare
- Se non l'hai ancora fatto, crea un repository.
- Verifica di disporre delle autorizzazioni appropriate per creare argomenti e abbonamenti. Per ulteriori informazioni, vedi Controllo dell'accesso.
- Assicurati di disporre di un account di servizio che possa pubblicare nel tuo argomento. Per impostazione predefinita, Cloud Source Repositories utilizza l'account di servizio predefinito di Compute Engine per pubblicare i messaggi. Per ulteriori informazioni, consulta Notifiche Pub/Sub per Cloud Source Repositories.
crea un argomento Pub/Sub
Per ogni progetto o repository Cloud Source Repositories per il quale vuoi ricevere notifiche, devi creare un argomento Pub/Sub. Puoi creare
un argomento utilizzando la console Google Cloud o la riga di comando gcloud
lo strumento a riga di comando gcloud.
Quando crei un argomento, devi utilizzare un URI qualificato per il tuo repository. L'URI qualificato è:
projects/[PROJECT_ID]/topics/[TOPIC_NAME]
Dove:
[PROJECT_ID]
è l'ID del tuo progetto Google Cloud.[TOPIC_NAME]
è il nome dell'argomento.
Per creare un argomento:
Console
Nella console Google Cloud, vai alla pagina Argomenti di Pub/Sub.
Fai clic su Crea argomento.
Inserisci un nome per l'argomento con il seguente URI:
projects/[PROJECT_ID]/topics/[TOPIC_NAME]
Dove:
[PROJECT_ID]
è l'ID del tuo progetto Google Cloud.[TOPIC_NAME]
è il nome dell'argomento.
Fai clic su Crea.
Si apre la pagina Dettagli argomento.
gcloud
In una finestra del terminale, esegui questo comando:
gcloud pubsub topics create projects/[PROJECT_ID]/topics/[TOPIC_NAME]
Dove:
[PROJECT_ID]
è l'ID del tuo progetto Google Cloud.[TOPIC_NAME]
è il nome dell'argomento.
Per scoprire di più sul comando gcloud pubsub topics
, consulta la documentazione di topics
.
Creare una sottoscrizione Pub/Sub
Per ricevere gli eventi pubblicati in un argomento, devi creare un Sottoscrizione Pub/Sub.
Un'app sottoscrittore riceve i messaggi dall'argomento del tuo repository. Gli iscritti possono rispondere agli eventi del tuo repository inviando notifiche o attivando una build.
Per creare un abbonamento, segui questi passaggi.
Console
Nella console Google Cloud, vai agli Argomenti di Pub/Sub. .
Fai clic sul nome dell'argomento del progetto.
Fai clic su Crea sottoscrizione.
Si apre la pagina Aggiungi sottoscrizione all'argomento.
Inserisci un nome per la sottoscrizione:
projects/[PROJECT_ID]/subscriptions/[SUBSCRIPTION_NAME]
Dove:
[PROJECT_ID]
è l'ID del tuo progetto Google Cloud.[SUBSCRIPTION_NAME]
è il nome dell'abbonamento Pub/Sub.
Lascia Tipo di consegna impostato su Pull.
Fai clic su Crea.
gcloud
In una finestra del terminale, esegui questo comando:
gcloud pubsub subscriptions create [SUBSCRIPTION_NAME] --topic=[TOPIC_NAME]
Dove:
[SUBSCRIPTION_NAME]
è il nome del bucket Pub/Sub abbonamento.[TOPIC_NAME]
è il nome dell'argomento.
Per scoprire di più sul comando gcloud pubsub subscriptions
, consulta le
Documentazione subscriptions
.
Aggiungi un argomento
Puoi associare un argomento Pub/Sub a un progetto o un repository Google Cloud utilizzando Google Cloud CLI.
Per associare un argomento a un intero progetto, inserisci il seguente comando:
gcloud source project-configs update --add-topic=[TOPIC_NAME] --service-account=[SERVICE_ACCOUNT_NAME]
Dove:
[TOPIC_NAME]
è il nome dell'argomento Pub/Sub.[SERVICE_ACCOUNT_NAME]
è il nome del tuo account di servizio Cloud Build.
Per associare un argomento a un repository specifico, inserisci il seguente comando:
gcloud source repos update [REPOSITORY_NAME] --add-topic=[TOPIC_NAME] --service-account=[SERVICE_ACCOUNT_NAME]
Dove:
[REPOSITORY_NAME]
è il nome del tuo repository Google Cloud.[TOPIC_NAME]
è il nome dell'argomento Pub/Sub.[SERVICE_ACCOUNT_NAME]
è il nome della tua Cloud Build l'account di servizio.
L'account di servizio deve trovarsi nello stesso progetto del repository e deve avere l'autorizzazione pubsub.topics.publish
per pubblicare un messaggio nell'argomento specificato. Devi avere l'autorizzazione iam.serviceAccounts.actAs
in
l'account di servizio. Se l'account di servizio non è specificato, viene utilizzato il valore predefinito
Account di servizio predefinito Compute Engine.
Rimuovere un argomento
Puoi rimuovere un'associazione tra un progetto o un repository Pub/Sub utilizzando Google Cloud CLI.
Per rimuovere un argomento da un intero progetto, inserisci il seguente comando:
gcloud source project-configs update --remove-topic=[TOPIC_NAME]
Per rimuovere un argomento da un repository specifico, inserisci il seguente comando:
gcloud source repos update [REPOSITORY_NAME] --remove-topic=[TOPIC_NAME]
Impostare il formato dell'argomento
Le notifiche per Cloud Source Repositories possono utilizzare JSON o Protocol
Formato dei buffer. Per impostare il formato di un argomento, puoi utilizzare
Parametro --message-format
quando aggiungi l'argomento:
gcloud source project-configs update --add-topic=[TOPIC_NAME] --message-format=[json|protobuf]
Puoi anche utilizzare il comando set-format
:
gcloud source project-configs update --update-topic=[TOPIC_NAME] --message-format=[json|protobuf]
Passaggi successivi
- 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ù su Ruoli di controllo dell'accesso di Pub/Sub.