Cette page explique comment utiliser les notifications du service Cloud Deploy, y compris comment s'y abonner.
Cloud Deploy utilise Pub/Sub pour publier des notifications à deux fins :
Pour vous permettre d'intégrer Cloud Deploy à des outils tiers et à d'autres outils Google, tels que les outils de gestion des workflows ou d'infrastructure de test.
Pour étendre Cloud Deploy à l'aide d'une logique métier supplémentaire.
Thèmes disponibles
Cloud Deploy publie des messages dans l'ensemble de sujets Google Pub/Sub suivants :
clouddeploy-resourcesLorsqu'une opération (création, mise à jour, suppression) est effectuée sur une ressource Cloud Deploy principale (automatisation, type de cible personnalisée, pipeline de déploiement, exécution de job, version, déploiement, cible).
clouddeploy-operations- Lorsque Cloud Deploy affiche la configuration Skaffold.
- Lorsque Cloud Deploy effectue un déploiement sur une cible (
Start,Succeed,Failure,Terminated(exécution de job),Cancelled(déploiement)).
clouddeploy-approvals- Lorsque Cloud Deploy a besoin d'une approbation (ou d'un refus) pour un déploiement.
- Lorsqu'un déploiement a été approuvé ou refusé.
clouddeploy-advances- Lorsqu'un déploiement Cloud Deploy est passé d'une phase à la suivante.
- Lorsqu'un déploiement est prêt à être avancé.
Vous pouvez utiliser un modèle push ou pull avec vos abonnements Pub/Sub.
Recevoir des notifications de service Cloud Deploy
Pour recevoir des notifications du service Cloud Deploy :
Activez l'API Cloud Deploy pour votre projet :
Activer l'API Pub/Sub :
Créez le ou les sujets Pub/Sub en fonction des types de notifications que vous souhaitez recevoir :
gcloud pubsub topics create clouddeploy-resources gcloud pubsub topics create clouddeploy-operations gcloud pubsub topics create clouddeploy-approvals gcloud pubsub topics create clouddeploy-advancesPour en savoir plus sur la gestion des sujets Pub/Sub, consultez Créer un sujet.
S'abonner aux notifications du service Cloud Deploy
Vous pouvez configurer les notifications de service Cloud Deploy pour les abonnements push et les abonnements pull. Pour savoir comment configurer des abonnements Pub/Sub pour ces notifications, consultez Choisir un type d'abonnement. Vous pouvez également en savoir plus sur les bibliothèques clientes Pub/Sub, qui facilitent le développement d'applications pour les abonnés.
Valeurs des champs
Cette section liste les valeurs possibles pour les champs des messages Cloud Deploy Pub/Sub.
Pour Action
Dans ces notifications, les valeurs possibles pour Action sont les suivantes :
Pour les ressources
CreateUpdateDelete
Pour les opérations :
StartSucceedFailureTerminatedCancelled
Pour les approbations :
RequiredApprovedRejected
Pour les avances :
RequiredAdvanced
Pour ResourceType
Les valeurs possibles pour ResourceType sont les suivantes :
DeliveryPipelineTargetReleaseRolloutJobRun
Exemples de messages
Les exemples suivants montrent plusieurs types de messages Pub/Sub provenant de sujets Cloud Deploy.
Créer un pipeline de livraison
Voici un exemple de message Pub/Sub publié sur clouddeploy-resources en réponse à la création d'un 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"
}
}
Début du rendu
Voici un exemple de message Pub/Sub publié sur clouddeploy-operations pour indiquer qu'une version a été générée :
{
"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"
}
}
Approbation requise
Voici un exemple de message Pub/Sub publié sur clouddeploy-approvals pour indiquer qu'un déploiement nécessite une approbation :
{
"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"
}
}
Avancer le déploiement
Voici un exemple de message Pub/Sub publié sur clouddeploy-advances pour indiquer qu'un déploiement est passé d'une phase à la suivante :
{
"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"
}
}
Dans ce message, PhaseId identifie la phase à laquelle le déploiement a été avancé.