Questa pagina descrive come utilizzare le notifiche di servizio di Cloud Deploy, incluso come abbonarsi.
Cloud Deploy utilizza Pub/Sub per pubblicare notifiche per due scopi:
Per consentirti di integrare Cloud Deploy con strumenti di terze parti e altri strumenti Google, come quelli per la gestione delle richieste di assistenza o l'infrastruttura di test.
Per estendere Cloud Deploy con logica di business supplementare.
Argomenti disponibili
Cloud Deploy pubblica messaggi nel seguente insieme di argomenti Google Pub/Sub:
clouddeploy-resourcesQuando viene eseguita un'operazione (creazione, aggiornamento, eliminazione) su qualsiasi risorsa core di Cloud Deploy (automazione, tipo di target personalizzato, pipeline di distribuzione, esecuzione del job, release, rollout, target).
clouddeploy-operations- Quando Cloud Deploy esegue il rendering della configurazione di Skaffold.
- Quando Cloud Deploy esegue il deployment in un target (
Start,Succeed,Failure,Terminated(esecuzione del job),Cancelled(implementazione)).
clouddeploy-approvals- Quando Cloud Deploy richiede l'approvazione (o il rifiuto) di un'implementazione.
- Quando un'implementazione è stata approvata o rifiutata.
clouddeploy-advances- Quando un'implementazione di Cloud Deploy è passata da una fase alla successiva.
- Quando un lancio è pronto per essere avanzato.
Puoi utilizzare un modello push o pull per gli abbonamenti Pub/Sub.
Ricevere notifiche del servizio Cloud Deploy
Per ricevere le notifiche del servizio Cloud Deploy:
Abilita l'API Cloud Deploy per il tuo progetto:
Abilita l'API Pub/Sub:
Crea l'argomento o gli argomenti Pub/Sub in base ai tipi di notifica che vuoi ricevere:
gcloud pubsub topics create clouddeploy-resources gcloud pubsub topics create clouddeploy-operations gcloud pubsub topics create clouddeploy-approvals gcloud pubsub topics create clouddeploy-advancesPer saperne di più sulla gestione degli argomenti Pub/Sub, consulta Creare un argomento.
Iscriviti alle notifiche del servizio Cloud Deploy
Puoi configurare le notifiche del servizio Cloud Deploy per gli abbonamenti push e gli abbonamenti pull. Per scoprire come configurare le sottoscrizioni Pub/Sub per queste notifiche, consulta Scegliere un tipo di sottoscrizione. Puoi anche scoprire di più sulle librerie client Pub/Sub, che semplificano lo sviluppo di applicazioni di sottoscrizione.
Valori del campo
Questa sezione elenca i valori possibili per i campi nei messaggi Pub/Sub di Cloud Deploy.
Per Action
In queste notifiche, i valori possibili per Action sono i seguenti.
Per le risorse
CreateUpdateDelete
Per le operazioni:
StartSucceedFailureTerminatedCancelled
Per le approvazioni:
RequiredApprovedRejected
Per gli anticipi:
RequiredAdvanced
Per ResourceType
I valori possibili per ResourceType sono:
DeliveryPipelineTargetReleaseRolloutJobRun
Messaggi di esempio
Gli esempi seguenti mostrano diversi tipi di messaggi Pub/Sub provenienti da argomenti Cloud Deploy.
Creazione della pipeline di distribuzione
Di seguito è riportato un esempio di messaggio Pub/Sub pubblicato in
clouddeploy-resources in risposta alla creazione di un nuovo deliveryPipeline:
{
"ackId": "RFAGFixdRkhRNxkIaFEOT14jPzUgKEUQBQgUBXx9cEFMdVhddmhRDRlyfWByY11AAgVMVnldURsHaE5tdR_Wg6LHS0NVaF4TBgpGVX5fXx0IYVtedi_m7r_2wPXOXkAvOYXL6Mtpe735h9xvZiM9XxJLLD5-IzRFQV5AEkwoAURJUytDCypYEU4EISE-MD5FUw",
"message": {
"attributes": {
"Action": "Create",
"Resource": "projects/120123456789/locations/us-central1/deliveryPipelines/etest",
"ResourceType": "DeliveryPipeline",
"Location": "us-central1",
"DeliveryPipelineId": "etest",
"ProjectNumber": "120123456789",
},
"messageId": "2407836004659723",
"publishTime": "2021-05-17T21:24:48.204Z"
}
}
Inizio rendering
Di seguito è riportato un esempio di messaggio Pub/Sub pubblicato in
clouddeploy-operations per comunicare che una release è stata sottoposta a rendering:
{
"ackId": "U0RQBhYsXUZIUTcZCGhRDk9eIz81IChFFwYIFAV8fXBBTHVeXHRoUQ0Zcn1gcmNfR1MLFlN5WFEaB2hObXUfioKix0tDVWheEwYKRVZ3W1kdBGFVXH0v_qD5rMP1zl5AKDnZyujLaXudkqxfZiM9XxJLLD5-PTNFQV5AEkw2BkRJUytDCypYEU4EISE-MD5F",
"message": {
"attributes": {
"Action": "Start",
"Resource": "projects/120123456789/locations/us-central1/deliveryPipelines/etest/releases/f2",
"ResourceType": "Release"
"Location": "us-central1",
"DeliveryPipelineId": "etest",
"ProjectNumber": "120123456789",
"ReleaseId": "f2",
},
"messageId": "2407805942699908",
"publishTime": "2021-05-17T21:28:04.201Z"
}
}
È necessaria un'approvazione
Di seguito è riportato un esempio di messaggio Pub/Sub pubblicato in
clouddeploy-approvals per comunicare che un lancio richiede l'approvazione:
{
"ackId": "RVNEUAYWLF1GSFE3GQhoUQ5PXiM_NSAoRRILUxNRXHQBWhBpWF8aB1ENGXJ8ZnxtCRBVU0FWf1VbEQ16bVxti6C2rERfQXduWhQJBkBXd11aHQhoXF9dotnkpeTv2kFwYSuN8_7mSH_Mo6AYZiA9XBJLLD5-IzZFQV5AEkwoA0RJUytDCypYEU4EISE-MD4",
"message": {
"attributes": {
"Action": "Required",
"Rollout": "projects/120123456789/locations/us-central1/deliveryPipelines/etest/releases/f2/rollouts/rollout-123"
"ReleaseId": "f2",
"RolloutId": "rollout-123",
"TargetId": "prod",
"Location": "us-central1",
"ProjectNumber": "120123456789",
},
"messageId": "2407845492165003",
"publishTime": "2021-05-17T21:31:25.143Z"
}
}
Prosegui con implementazione
Di seguito è riportato un esempio di messaggio Pub/Sub pubblicato in
clouddeploy-advances per comunicare che un'implementazione è stata avanzata da una fase
alla successiva:
{
"ackId": "RFAGFixdRkhRNxkIaFEOT14jPzUgKEUSAwVPAihdeTFXKkFZdWhRDRlyfWB9bV4UUFZMV38OURoHaE5tdR_z4ILjS0NVbVkQBApEUHldXhkEa1RcfC-a0fmv1OzMV0AvOaCoyO9pe77r3NluZiM9XhJLLD5-Jz1FQV5AEkwsCERJUytDCypYEU4EISE-MD5FUw",
"message": {
"attributes": {
"Action": "Advanced",
"Location": "us-central1",
"PhaseId": "stable",
"ProjectNumber": "120123456789",
"ReleaseId": "rollout-123",
"Rollout": "projects/120123456789/locations/us-central1/deliveryPipelines/etest/releases/f2/rollouts/rollout-123",
"RolloutId": "rollout-123",
"TargetId": "prod"
},
"messageId": "7335813725293809",
"publishTime": "2023-04-03T15:16:30.425Z"
}
}
In questo messaggio, PhaseId identifica la fase a cui è stato
portato l'implementazione.