Ce document explique comment configurer et utiliser une stratégie de déploiement Canary.
Qu'est-ce qu'un déploiement Canary ?
Un déploiement Canary est un déploiement progressif d'une application qui répartit le trafic entre une version déjà déployée et une nouvelle version, en la déployant auprès d'un sous-ensemble d'utilisateurs avant de la déployer complètement.
Types de cibles compatibles
Le déploiement Canary dans Cloud Deploy est compatible avec tous les types de cibles, y compris les suivants:
- Google Kubernetes Engine
- Cloud Run (services uniquement, pas les tâches)
- GKE Enterprise
Canary fonctionne également avec plusieurs cibles.
Pourquoi utiliser une stratégie de déploiement Canary ?
Un déploiement Canary vous permet de déployer partiellement votre application. De cette manière, vous pouvez vous assurer que la nouvelle version de votre application est fiable avant de la diffuser auprès de tous les utilisateurs.
Par exemple, si vous effectuez un déploiement sur GKE ou GKE Enterprise, vous devez déployer la nouvelle version de votre application sur un nombre limité de pods. L'ancienne version continue de fonctionner, mais une plus grande partie du trafic est envoyée aux nouveaux pods.
Si vous effectuez un déploiement sur Cloud Run, Cloud Run répartit lui-même le trafic entre l'ancienne et la nouvelle révision, en fonction des pourcentages que vous configurez.
Types de versions Canary
Cloud Deploy vous permet de configurer les types de déploiements Canary suivants:
Automatique
Avec un déploiement Canary automatisé, vous configurez Cloud Deploy avec une série de pourcentages représentant un déploiement progressif. Cloud Deploy effectue des opérations supplémentaires en votre nom afin de répartir les pourcentages de trafic entre l'ancienne et la nouvelle version.
Automatisation personnalisée
Pour une version Canary automatisée personnalisée, vous pouvez fournir les éléments suivants:
- Nom de la phase
- L'objectif en pourcentage
- Le profil Skaffold à utiliser pour la phase
- Inclure ou non une tâche de vérification
Toutefois, vous n'avez pas besoin de fournir d'informations sur l'équilibrage du trafic : Cloud Deploy crée les ressources nécessaires, comme décrit ici.
personnalisée ;
Avec une version Canary personnalisée, vous configurez chaque phase Canary séparément, y compris les suivantes:
- Nom de la phase
- L'objectif en pourcentage
- Le profil Skaffold à utiliser pour la phase
- Inclure ou non une tâche de vérification
En outre, pour une version Canary entièrement personnalisée, vous devez fournir toute la configuration de l'équilibrage du trafic, comme décrit ici.
Phases d'un déploiement Canary
Lorsque vous créez une version pour un déploiement Canary, le déploiement est créé avec une phase pour chaque incrément Canary, plus une phase finale stable
pour 100%.
Par exemple, si vous configurez une version Canary pour des incréments de 25%, 50 % et 75 %, le déploiement se déroule selon les phases suivantes:
canary-25
canary-50
canary-75
stable
Pour en savoir plus sur les phases de déploiement, les tâches et les exécutions de tâches, consultez la page Gérer les déploiements.
Que se passe-t-il pendant une période Canary automatisée ou personnalisée
Pour faciliter votre déploiement Canary, Cloud Deploy inclut des étapes de traitement spéciales lors de l'affichage de votre fichier manifeste Kubernetes ou de la configuration du service Cloud Run:
GKE/GKE Enterprise (réseau)
Voici comment Cloud Deploy exécute un déploiement Canary dans GKE et GKE Enterprise basés sur le réseau:
Vous devez indiquer le nom de la ressource de déploiement et de la ressource de service.
Cloud Deploy crée une ressource de déploiement supplémentaire, avec le nom de votre déploiement actuel suivi de
-canary
.Cloud Deploy modifie le service pour ajuster le sélecteur afin de sélectionner les pods du déploiement actuel et les pods Canary.
Cloud Deploy calcule le nombre de pods à utiliser pour la version Canary en fonction du calcul décrit ici. Ce calcul diffère selon que vous avez activé ou désactivé le surprovisionnement des pods.
Si vous passez à la phase
stable
, Cloud Deploy ajoute les étiquettes à utiliser pour faire correspondre les pods, afin qu'elles soient disponibles pour les exécutions Canary ultérieures.Cloud Deploy crée un déploiement qui inclut le pourcentage de pods spécifique à chaque phase, en le mettant à jour pour chaque phase. Pour ce faire, calculez le nombre de pods sous la forme d'un pourcentage du nombre d'origine de pods. Cela peut entraîner une répartition du trafic inexacte. Si vous avez besoin d'une répartition exacte du trafic, vous pouvez l'obtenir à l'aide de l'API Gateway.
Les secrets et les ConfigMaps sont également copiés et renommés avec
-canary
.Pendant la phase
stable
, le déploiement-canary
est réduit à zéro et le déploiement d'origine est remplacé par le nouveau.Cloud Deploy ne modifie pas le déploiement d'origine avant la phase
stable
.
Cloud Deploy provisionne les pods pour atteindre le pourcentage Canary demandé le plus près possible. Cette valeur est basée sur le nombre de pods, et non sur le trafic vers les pods. Si vous souhaitez que votre version Canary soit basée sur le trafic, vous devez utiliser l'API Gateway.
Pour la version Canary basée sur le réseau de GKE, vous pouvez activer ou désactiver le surprovisionnement des pods. Les sections suivantes décrivent comment Cloud Deploy calcule le nombre de pods à provisionner pour le déploiement Canary pour chaque phase Canary.
Provisionnement des pods avec surprovisionnement activé
L'activation du surprovisionnement (disablePodOverprovisioning: false
) permet à Cloud Deploy de créer suffisamment de pods supplémentaires pour exécuter le pourcentage Canary souhaité, en fonction du nombre de pods exécutant votre déploiement existant. La formule suivante montre comment Cloud Deploy calcule le nombre de pods à provisionner pour le déploiement Canary pour chaque phase Canary, lorsque le surprovisionnement des pods est activé:
math.Ceil( percentage * ReplicaCountOfDeploymentOnCluster / (100-percentage))
Avec cette formule, le nombre actuel d'instances répliquées (le nombre de pods que vous possédez déjà avant cette version Canary) est multiplié par le pourcentage Canary pour la phase, puis divisé par (100 moins le pourcentage).
Par exemple, si quatre pods sont déjà en fin de vie et que la phase Canary est de 50%, le nombre de pods Canary est de quatre. (Le résultat de 100-percentage
est utilisé sous forme de pourcentage: 100-50=50
, traité comme .50
.)
Le surprovisionnement des pods est le comportement par défaut.
Provisionnement des pods avec surprovisionnement désactivé
Vous pouvez désactiver le surprovisionnement (disablePodOverprovisioning: true
) pour vous assurer que Cloud Deploy n'augmente pas le nombre d'instances répliquées.
La formule suivante montre comment Cloud Deploy calcule le provisionnement des pods pour le déploiement Canary pour chaque phase Canary, lorsque le surprovisionnement des pods est désactivé:
math.Ceil( (ReplicaCountOfDeploymentOnCluster + ReplicaCountOfCanaryDeploymentOnCluster) * percentage)
Dans cette formule, ReplicaCountOfCanaryDeploymentOnCluster
n'existe que s'il existe déjà une phase Canary. S'il s'agit de la première phase Canary, il n'y a pas de ReplicaCountOfCanaryDeploymentOnCluster
.
Si vous commencez avec quatre pods, ce nombre est multiplié par le pourcentage Canary (par exemple, 50%, ou .5
) pour obtenir 2
. Le déploiement d'origine est donc réduit à deux pods, et deux pods sont créés pour le déploiement Canary. Si la phase Canary s'élève à 75 %, vous disposez de 2
(déploiement d'origine) +2
(première étape Canary), *.75
, pour obtenir 3
pods Canary et 1
pods exécutant le déploiement d'origine.
GKE/GKE Enterprise (passerelle)
Voici comment Cloud Deploy exécute un déploiement Canary dans GKE et GKE Enterprise à l'aide de l'API Gateway:
En plus des références au déploiement et au service, vous fournissez une ressource HTTPRoute, avec une règle
backendRefs
qui référence le service.Cloud Deploy crée un déploiement, avec le nom de votre déploiement d'origine suivi de
-canary
, et un nouveau service avec le nom d'origine du service suivi de-canary
.Les secrets, les ConfigMaps et les autoscalers horizontaux de pods sont également copiés et renommés avec
-canary
.Pour chaque phase Canary, Cloud Deploy modifie la méthode HTTPRoute afin de mettre à jour la pondération entre les pods du déploiement d'origine et les pods du déploiement Canary, en fonction du pourcentage correspondant à cette phase.
Étant donné que la propagation des modifications aux ressources
HTTPRoute
peut prendre un certain temps, vous pouvez inclure la propriétérouteUpdateWaitTime
dans votre configuration afin que le système attende un certain temps pour cette propagation.Pendant la phase
stable
, le déploiement-canary
est réduit à zéro et le déploiement d'origine est mis à jour pour utiliser le déploiement de la nouvelle version.De plus, la version d'origine que vous avez fournie est désormais rétablie pour HTTPRoute.
Cloud Deploy ne modifie pas le déploiement ni le service d'origine avant la phase
stable
.
Cloud Run
Voici comment Cloud Deploy exécute un déploiement Canary pour Cloud Run:
Pour un déploiement Canary sur Cloud Run, ne fournissez pas de stanza
traffic
dans le fichier YAML de service.Lors de la création d'un déploiement pour la version Canary, Cloud Deploy répartit le trafic entre la révision précédente qui a été déployée avec succès par Cloud Deploy et une nouvelle révision.
Si vous souhaitez afficher les différences entre les phases d'un déploiement Canary, vous pouvez afficher les modifications dans le fichier manifeste affiché par phase, disponible dans l'inspecteur de version. Vous pouvez le faire avant même le début du déploiement. En outre, si vous utilisez le déploiement en parallèle, vous pouvez également inspecter le fichier manifeste affiché pour chaque enfant.
Configurer un déploiement Canary
Cette section explique comment configurer votre pipeline de livraison et vos cibles pour un déploiement Canary.
Les instructions fournies ici n'incluent que les éléments spécifiques à la configuration Canary. Le document Déployer votre application contient des instructions générales pour configurer et exécuter votre pipeline de déploiement.
Assurez-vous de disposer des autorisations requises
En plus des autres autorisations Identity and Access Management dont vous avez besoin pour utiliser Cloud Deploy, vous devez disposer des autorisations suivantes pour effectuer les actions supplémentaires qui peuvent être nécessaires dans un déploiement Canary:
clouddeploy.rollouts.advance
clouddeploy.rollouts.ignoreJob
clouddeploy.rollouts.cancel
clouddeploy.rollouts.retryJob
clouddeploy.jobRuns.get
clouddeploy.jobRuns.list
clouddeploy.jobRuns.terminate
Consultez la page Rôles et autorisations IAM pour en savoir plus sur les rôles disponibles qui incluent ces autorisations.
Préparez votre skaffold.yaml
Comme pour un déploiement standard, votre version Canary a besoin d'un fichier skaffold.yaml
, qui définit la manière dont les fichiers manifestes et les définitions de service sont affichés et déployés.
Le fichier skaffold.yaml
que vous créez pour un déploiement Canary ne présente aucune exigence particulière en plus des requis pour le déploiement standard.
Préparer le fichier manifeste ou la définition du service
Comme pour un déploiement standard, votre version Canary a besoin d'un fichier manifeste Kubernetes ou d'une définition de service Cloud Run.
GKE et GKE Enterprise
Pour la version Canary, le fichier manifeste doit comporter les éléments suivants:
Un déploiement et un service.
Le service doit définir un sélecteur
app
et sélectionner les pods du déploiement spécifié.Si vous utilisez une version Canary basée sur l'API Gateway, le fichier manifeste doit également comporter une HTTPRoute.
Cloud Run
Pour la version Canary sur Cloud Run, votre fichier de définition de service Cloud Run normal est suffisant, mais sans stanza traffic
. Cloud Deploy gère la répartition du trafic entre la dernière révision réussie et la nouvelle.
Configurer une version Canary automatisée
Les instructions suivantes concernent les cibles de mise en réseau basée sur les services Cloud Run, GKE et GKE Enterprise. Si vous utilisez l'API Kubernetes Gateway avec GKE ou GKE Enterprise, consultez cette documentation.
Vous configurez la version Canary automatisée dans la définition de votre pipeline de livraison:
GKE et GKE Enterprise
À l'étape du pipeline, incluez une propriété strategy
, comme suit:
serialPipeline:
stages:
- targetId: prod
profiles: []
strategy:
canary:
runtimeConfig:
kubernetes:
serviceNetworking:
service: "SERVICE_NAME"
deployment: "DEPLOYMENT_NAME"
canaryDeployment:
percentages: [PERCENTAGES]
verify: true|false
Dans cette configuration...
SERVICE_NAME est le nom du service Kubernetes, défini dans votre fichier manifeste.
DEPLOYMENT_NAME est le nom de votre déploiement Kubernetes, défini dans votre fichier manifeste.
PERCENTAGES est une liste de valeurs en pourcentage séparées par une virgule représentant vos incréments Canary, par exemple
[5, 25, 50]
.Cela n'inclut pas non plus
100
, car le déploiement à 100% est supposé dans la version Canary et géré par la phasestable
.Vous pouvez activer la validation du déploiement (
verify: true
). Dans ce cas, une tâcheverify
est activée à chaque phase.
Cloud Run
À l'étape du pipeline, incluez une propriété strategy
, comme suit:
serialPipeline:
stages:
- targetId: prod
profiles: []
strategy:
canary:
runtimeConfig:
cloudRun:
automaticTrafficControl: true
canaryDeployment:
percentages: [PERCENTAGES]
verify: true|false
Dans cette configuration...
- PERCENTAGES est une liste de valeurs en pourcentage séparées par une virgule représentant vos incréments Canary, par exemple
[25, 50, 75]
. Notez que cela n'inclut pas100
, car le déploiement à 100% est assumé dans la version Canary et est géré par la phasestable
. - Vous pouvez activer la validation du déploiement (
verify: true
). Dans ce cas, une tâcheverify
est ajoutée à chaque phase Canary.
Configurer une version Canary personnalisée
Vous pouvez configurer votre version Canary manuellement au lieu de compter entièrement sur l'automatisation fournie par Cloud Deploy. Avec une configuration Canary personnalisée, vous spécifiez les éléments suivants dans la définition de votre pipeline de livraison:
Noms des phases de déploiement
Dans une version Canary entièrement automatisée, Cloud Deploy nomme automatiquement les phases (
canary-25
,canary-75
etstable
, par exemple). Toutefois, avec une version Canary personnalisée, vous pouvez attribuer n'importe quel nom à chaque phase, à condition qu'il soit unique parmi toutes les phases de cette phase Canary et qu'il respecte les restrictions de nom de ressource. Mais le nom final de la phase (100%) doit êtrestable
.Objectifs en pourcentage pour chaque phase
Spécifiez les pourcentages séparément, par phase.
Profils Skaffold à utiliser pour la phase
Vous pouvez utiliser un profil Skaffold distinct pour chaque phase, le même profil ou n'importe quelle combinaison. Chaque profil peut utiliser un fichier manifeste Kubernetes ou une définition de service Cloud Run différente. Vous pouvez également utiliser plusieurs profils pour une phase donnée. Cloud Deploy les combine.
Existence ou non d'une tâche de vérification pour la phase
N'oubliez pas que si vous activez la validation, vous devez également configure votre
skaffold.yaml
pour la validation.
Tous les types de cibles sont compatibles avec les versions Canary personnalisées.
Éléments de configuration Canary personnalisés
Le fichier YAML suivant présente la configuration des phases d'un déploiement Canary entièrement personnalisé:
strategy:
canary:
# Custom configuration for each canary phase
customCanaryDeployment:
phaseConfigs:
- phaseId: "PHASE1_NAME"
percentage: PERCENTAGE1
profiles: [ "PROFILE_NAME" ]
verify: true | false
- …
- phaseId: "stable"
percentage: 100
profiles: [ "LAST_PROFILE_NAME" ]
verify: true|false
Dans ce fichier YAML
PHASE1_NAME
Il s'agit du nom de la phase. Chaque nom de phase doit être unique.
[ "PROFILE_NAME" ]
est le nom du profil à utiliser pour la phase. Vous pouvez utiliser le même profil pour chaque phase, un profil différent pour chacune ou n'importe quelle combinaison. Vous pouvez également spécifier plusieurs profils. Cloud Deploy utilise tous les profils que vous spécifiez, ainsi le profil ou le fichier manifeste utilisé par l'étape globale.
PERCENTAGE1
Pourcentage à déployer pour la première phase. Chaque phase doit avoir une valeur de pourcentage unique, qui doit être un pourcentage entier (et non
10.5
, par exemple). Les phases doivent être dans l'ordre croissant.verify: true|false
Indique à Cloud Deploy s'il faut inclure une tâche de vérification pour la phase. Notez que pour chaque phase à utiliser la validation, Skaffold utilise le même profil pour la vérification que celui spécifié pour le rendu et le déploiement pour cette phase.
stable
La phase finale doit être nommée
stable
.
Le pourcentage pour la dernière phase doit être 100
. Les phases sont exécutées dans l'ordre dans lequel vous les avez configurées dans ce stanza customCanaryDeployment
, mais si les valeurs de pourcentage ne sont pas dans l'ordre croissant, la commande d'enregistrement du pipeline de livraison échoue et génère une erreur.
Notez que la configuration d'une version Canary personnalisée n'inclut pas de stanza runtimeConfig
. Si vous incluez runtimeConfig
, il est considéré comme une version Canary personnalisée et automatisée.
Configurer une version Canary automatisée personnalisée
Une version Canary automatisée et personnalisée est semblable à une version Canary personnalisée, car vous spécifiez les phases Canary distinctes, avec des noms de phase personnalisés, des valeurs de pourcentage, des profils Skaffold et des tâches de vérification des emplois. Toutefois, avec une version Canary personnalisée, vous ne fournissez pas les configurations qui définissent la répartition du trafic. Cloud Deploy le fait pour vous, mais vous fournissez les profils Skaffold à utiliser pour chaque étape.
Pour configurer une version Canary automatisée personnalisée, incluez un stanza runtimeConfig
, comme indiqué ici, et incluez le stanza customCanaryDeployment
, comme indiqué ici.
Configurer un déploiement Canary à l'aide du maillage de services de l'API Kubernetes Gateway
Bien que vous puissiez utiliser un déploiement Canary Cloud Deploy pour déployer votre application sur la mise en réseau basée sur les services Kubernetes, une autre solution consiste à utiliser le maillage de services de l'API Gateway de Kubernetes. Cette section décrit la procédure à suivre.
Vous pouvez utiliser l'API Gateway avec Istio ou toute implémentation compatible.
Configurez vos ressources API Gateway:
Notez qu'il s'agit uniquement d'exemples.
Votre fichier manifeste Kubernetes, fourni à Cloud Deploy lors de la création de la version, inclut les éléments suivants:
Un objet
HTTPRoute
qui référence votre ressource de passerelleUn déploiement
Un service
Configurez votre pipeline de livraison et la cible sur laquelle vous allez effectuer un déploiement Canary:
La configuration de la cible est la même que pour toutes les cibles.
La configuration du pipeline de livraison, dans la séquence de progression pour la cible spécifique, inclut un stanza
gatewayServiceMesh
pour référencer votre configurationHTTPRoute
de l'API Kubernetes Gateway, ainsi que votre déploiement et votre service.strategy: canary: runtimeConfig: kubernetes: gatewayServiceMesh: httpRoute: "ROUTE" service: "SERVICE" deployment: "DEPLOYMENT" routeUpdateWaitTime: "WAIT_TIME" canaryDeployment: percentages: - 50
Où...
ROUTE est la configuration httpRoute qui définit le comportement de routage souhaité.
SERVICE est votre configuration de service, requise par Cloud Deploy pour les déploiements Canary sur GKE et GKE Enterprise.
DEPLOYMENT est la configuration de déploiement requise par Cloud Deploy pour les déploiements Canary sur GKE et GKE Enterprise.
WAIT_TIME correspond à la durée pendant laquelle Cloud Deploy attend que les modifications apportées à la ressource
HTTPRoute
se terminent pour éviter l'abandon des requêtes. Par exemple :routeUpdateWaitTime: 60s
.Si vous exécutez une version Canary à l'aide de l'API Gateway sans Istio et que l'API Gateway est connectée à un équilibreur de charge Google Cloud, une petite quantité de trafic peut être perdue lors du scaling à la baisse de l'instance Canary. Vous pouvez configurer ce paramètre si vous observez ce comportement.
Utiliser un déploiement parallèle avec une stratégie de déploiement Canary
Vous pouvez exécuter un déploiement Canary à l'aide d'un déploiement parallèle. Cela signifie que la cible sur laquelle vous effectuez le déploiement progressif peut comprendre deux cibles enfants ou plus. Par exemple, vous pouvez procéder progressivement au déploiement sur les clusters situés dans des régions distinctes, en même temps.
En quoi un Canary parallèle est-il différent d'un Canary à cible unique ?
Comme pour le déploiement Canary à cible unique, si vous effectuez un déploiement sur des cibles GKE, vous devez disposer d'une configuration de déploiement Kubernetes et d'une configuration de service Kubernetes dans votre fichier manifeste.
Comme pour le déploiement Canary à cible unique, la configuration de votre pipeline de livraison doit inclure un stanza
strategy.canary
dans la définition de l'étape applicable.De plus, vous devez configurer un groupe multicible et configurer les cibles enfants auxquelles il fait référence.
Lorsque vous créez une version, un déploiement du contrôleur et les déploiements enfants sont créés.
Les deux types de déploiement (contrôleur et enfant) disposent de phases distinctes pour tous les pourcentages Canary configurés, et d'une phase
stable
pour la version Canary à 100%.Vous ne pouvez pas avancer un déploiement enfant.
Vous ne pouvez avancer que les déploiements du contrôleur. Lorsque vous passez à l'étape suivante du déploiement du contrôleur, les déploiements enfants sont également avancés par Cloud Deploy.
Vous ne pouvez pas relancer les tâches ayant échoué lors du déploiement du contrôleur.
Vous ne pouvez relancer un job que dans les déploiements enfants.
Vous ne pouvez pas ignore les tâches ayant échoué lors du déploiement du contrôleur.
Vous ne pouvez ignorer les jobs ayant échoué que dans les déploiements enfants.
Vous pouvez annuler un déploiement du contrôleur, mais vous ne pouvez pas annuler les déploiements enfants.
Vous ne pouvez arrêter les exécutions de tâches que sous un déploiement enfant, et non sous un déploiement de contrôleur.
Que faire si un déploiement en parallèle échoue dans la version Canary ?
Lorsqu'un déploiement enfant échoue, le déploiement du contrôleur peut passer à des états différents, en fonction de ce qu'il advient des déploiements enfants:
Si un ou plusieurs déploiements enfants échouent, mais qu'au moins un déploiement enfant est toujours
IN_PROGRESS
, le déploiement du contrôleur resteIN_PROGRESS
.Si un ou plusieurs déploiements enfants échouent, mais qu'au moins un déploiement enfant réussit, le déploiement du contrôleur est défini sur
HALTED
s'il existe d'autres phases après le déploiement actuel.S'il s'agit de la phase
stable
, le déploiement du contrôleur estFAILED
.HALTED
vous permet d'ignore, de relancer les tâches ayant échoué dans le déploiement enfant ayant échoué, ou d'annuler le déploiement du contrôleur et d'empêcher d'autres actions sur les déploiements enfants.Si le déploiement du contrôleur est à l'état
HALTED
en raison de l'échec d'un déploiement enfant, et que vous ignorez la tâche ayant échoué dans le déploiement enfant, celui-ci revient à l'étatIN_PROGRESS
.
Exécuter la version Canary configurée
Pour exécuter le déploiement Canary, procédez comme suit:
Enregistrez le pipeline de livraison et les cibles configurés.
gcloud deploy apply --file=PIPELINE
Le pipeline de livraison inclut la configuration Canary automatisée ou personnalisée pour l'environnement d'exécution de votre choix.
Cette commande suppose que vos cibles sont définies dans le même fichier ou ont déjà été enregistrées. Si ce n'est pas le cas, veillez également à enregistrer vos cibles.
Créez une version:
gcloud deploy releases create RELEASE_NAME \ --delivery-pipeline=PIPELINE_NAME \ --region=REGION
Le pipeline de livraison identifié par
PIPELINE_NAME
contient la configuration Canary automatisée ou personnalisée décrite dans ce document.Avancez dans la version Canary:
gcloud CLI
gcloud deploy rollouts advance ROLLOUT_NAME \ --release=RELEASE_NAME \ --delivery-pipeline=PIPELINE_NAME \ --region=REGION
Où :
ROLLOUT_NAME
est le nom du déploiement en cours que vous passez à la phase suivante.RELEASE_NAME
est le nom de la version à laquelle ce déploiement fait partie.PIPELINE_NAME
est le nom du pipeline de livraison que vous utilisez pour gérer le déploiement de cette version.REGION
est le nom de la région dans laquelle la version a été créée, par exempleus-central1
. Ce champ est obligatoire.Consultez la documentation de référence de Google Cloud SDK pour plus d'informations sur la commande
gcloud deploy rollouts advance
.console Google Cloud
Cliquez sur votre pipeline affiché dans la liste des pipelines de livraison.
La page "Détails du pipeline de livraison" affiche une représentation graphique de la progression de votre pipeline de livraison.
Dans l'onglet Déploiements, sous Informations sur le pipeline de livraison, cliquez sur le nom de votre déploiement.
La page d'informations sur ce déploiement s'affiche.
Notez que dans cet exemple, le déploiement comporte une phase
canary-50
et une phasestable
. Votre déploiement peut comporter plusieurs phases ou des phases différentes.Cliquez sur Avancer le déploiement.
Le déploiement est avancé à la phase suivante.
Phases ignorées
Si vous déployez une version Canary et que votre application n'a pas encore été déployée dans cet environnement d'exécution, Cloud Deploy ignore la phase Canary et exécute la phase stable. Consultez la section Ignorer des phases pour la première fois pour en découvrir la raison.
Étapes suivantes
Consultez le guide de démarrage rapide du déploiement Canary.
Découvrez comment gérer le cycle de vie des déploiements de votre version Canary.
Apprenez-en plus sur le déploiement en parallèle.