- Ressource: DeliveryPipeline
- Représentation JSON
- SerialPipeline
- Étape
- Stratégie
- Standard
- Prédéploiement
- Post-déploiement
- Canary
- RuntimeConfig
- KubernetesConfig
- GatewayServiceMesh
- ServiceNetworking
- CloudRunConfig
- CanaryDeployment
- CustomCanaryDeployment
- PhaseConfig
- DeployParameters
- PipelineCondition
- PipelineReadyCondition
- TargetsTypeCondition
- Méthodes
Ressource: DeliveryPipeline
Une ressource DeliveryPipeline
dans l'API Cloud Deploy
Un DeliveryPipeline
définit un pipeline à travers lequel une configuration Skaffold peut progresser.
Représentation JSON |
---|
{ "name": string, "uid": string, "description": string, "annotations": { string: string, ... }, "labels": { string: string, ... }, "createTime": string, "updateTime": string, "condition": { object ( |
Champs | |
---|---|
name |
Facultatif. Nom du |
uid |
Uniquement en sortie. Identifiant unique du |
description |
Description de |
annotations |
Annotations utilisateur Ces attributs ne peuvent être définis et utilisés que par l'utilisateur, et non par Cloud Deploy. Objet contenant une liste de paires |
labels |
Les étiquettes sont des attributs qui peuvent être définis et utilisés à la fois par l'utilisateur et par Cloud Deploy. Les étiquettes doivent respecter les contraintes suivantes:
Les clés et les valeurs doivent également avoir une taille inférieure ou égale à 128 octets. Objet contenant une liste de paires |
createTime |
Uniquement en sortie. Heure à laquelle le pipeline a été créé. Horodatage au format RFC3339 UTC "Zulu", avec une résolution de l'ordre de la nanoseconde et jusqu'à neuf chiffres décimaux. Exemples : |
updateTime |
Uniquement en sortie. Dernière mise à jour du pipeline. Horodatage au format RFC3339 UTC "Zulu", avec une résolution de l'ordre de la nanoseconde et jusqu'à neuf chiffres décimaux. Exemples : |
condition |
Uniquement en sortie. Informations sur l'état du pipeline de livraison. |
etag |
Cette somme de contrôle est calculée par le serveur en fonction de la valeur d'autres champs. Elle peut être envoyée lors des requêtes de mise à jour et de suppression pour s'assurer que le client dispose d'une valeur à jour avant de poursuivre. |
suspended |
Lorsqu'une version est suspendue, aucune nouvelle version ni aucun déploiement ne peut être créé, mais ceux en cours sont terminés. |
Champ d'union pipeline . Configuration de tri de DeliveryPipeline . La pipeline ne peut être qu'un des éléments suivants : |
|
serialPipeline |
SerialPipeline définit un ensemble séquentiel d'étapes pour un |
SerialPipeline
SerialPipeline définit un ensemble séquentiel d'étapes pour un DeliveryPipeline
.
Représentation JSON |
---|
{
"stages": [
{
object ( |
Champs | |
---|---|
stages[] |
Chaque étape spécifie la configuration d'un |
Étape
Stage spécifie un emplacement vers lequel déployer.
Représentation JSON |
---|
{ "targetId": string, "profiles": [ string ], "strategy": { object ( |
Champs | |
---|---|
targetId |
ID cible vers lequel pointe cette étape. Ce champ fait uniquement référence au dernier segment d'un nom de cible. Par exemple, ce champ serait simplement |
profiles[] |
Profils Skaffold à utiliser lors de l'affichage du fichier manifeste pour le |
strategy |
Facultatif. Stratégie à utiliser pour un |
deployParameters[] |
Facultatif. Paramètres de déploiement à utiliser pour la cible à cette étape. |
Stratégie
La stratégie contient des informations sur la stratégie de déploiement.
Représentation JSON |
---|
{ // Union field |
Champs | |
---|---|
Champ d'union deployment_strategy . Détails de la stratégie de déploiement deployment_strategy ne peut être qu'un des éléments suivants : |
|
standard |
La stratégie de déploiement standard consiste à exécuter un seul déploiement et à vérifier ce dernier. |
canary |
La stratégie de déploiement Canary fournit des déploiements progressifs basés sur un pourcentage sur une cible. |
Standard
"Standard" représente la stratégie de déploiement standard.
Représentation JSON |
---|
{ "verify": boolean, "predeploy": { object ( |
Champs | |
---|---|
verify |
Vérifier si un déploiement doit être vérifié ou non. |
predeploy |
Facultatif. Configuration du job de prédéploiement. Si cette option n'est pas configurée, le job de prédéploiement ne sera pas présent. |
postdeploy |
Facultatif. Configuration du job de postdéploiement. Si cette option n'est pas configurée, le job de postdéploiement ne sera pas présent. |
Prédéploiement
Le prédéploiement contient les informations de configuration du job de prédéploiement.
Représentation JSON |
---|
{ "actions": [ string ] } |
Champs | |
---|---|
actions[] |
Facultatif. Séquence d'actions personnalisées Skaffold à appeler lors de l'exécution du job de prédéploiement. |
Postdéploiement
Le post-déploiement contient les informations de configuration du job de post-déploiement.
Représentation JSON |
---|
{ "actions": [ string ] } |
Champs | |
---|---|
actions[] |
Facultatif. Séquence d'actions personnalisées Skaffold à appeler lors de l'exécution du job de postdeploy. |
Canary
Canary représente la stratégie de déploiement Canary.
Représentation JSON |
---|
{ "runtimeConfig": { object ( |
Champs | |
---|---|
runtimeConfig |
Facultatif. Configurations spécifiques à l'environnement d'exécution pour la stratégie de déploiement. La configuration de l'environnement d'exécution permet de déterminer comment Cloud Deploy répartira le trafic pour permettre un déploiement progressif. |
Champ d'union mode . Mode à utiliser pour la stratégie de déploiement Canary. mode ne peut être qu'un des éléments suivants : |
|
canaryDeployment |
Configure le déploiement progressif pour une cible. |
customCanaryDeployment |
Configure le déploiement progressif pour une cible, mais permet la personnalisation au niveau des phases (une phase représentant chacun des pourcentages de déploiements). |
RuntimeConfig
RuntimeConfig contient les configurations spécifiques à l'environnement d'exécution pour une stratégie de déploiement.
Représentation JSON |
---|
{ // Union field |
Champs | |
---|---|
Champ d'union runtime_config . Détails de la configuration de l'environnement d'exécution. runtime_config ne peut être qu'un des éléments suivants : |
|
kubernetes |
Configuration de l'environnement d'exécution Kubernetes. |
cloudRun |
de l'environnement d'exécution Cloud Run. |
KubernetesConfig
KubernetesConfig contient la configuration de l'environnement d'exécution Kubernetes.
Représentation JSON |
---|
{ // Union field |
Champs | |
---|---|
Champ d'union service_definition . Configuration de la définition de service. service_definition ne peut être qu'un des éléments suivants : |
|
gatewayServiceMesh |
Configuration du maillage de services de l'API Kubernetes Gateway |
serviceNetworking |
Configuration de la mise en réseau de services Kubernetes. |
GatewayServiceMesh
Informations sur la configuration du maillage de services de l'API Kubernetes Gateway.
Représentation JSON |
---|
{ "httpRoute": string, "service": string, "deployment": string, "routeUpdateWaitTime": string, "stableCutbackDuration": string } |
Champs | |
---|---|
httpRoute |
Obligatoire. Nom de la ressource HTTPRoute de l'API Gateway. |
service |
Obligatoire. Nom du service Kubernetes. |
deployment |
Obligatoire. Nom du déploiement Kubernetes dont le trafic est géré par la route HTTP et le service spécifiés. |
routeUpdateWaitTime |
Facultatif. Délai d'attente de la propagation des mises à jour du routage. La durée maximale configurable est de 3 heures (exprimée en secondes). S'il n'est pas spécifié, aucun temps d'attente n'est défini. Durée en secondes avec neuf chiffres au maximum après la virgule et se terminant par " |
stableCutbackDuration |
Facultatif. Durée de migration du trafic du service Canary vers le service d'origine pendant le déploiement en phase stable. Si elle est spécifiée, elle doit être comprise entre 15 s et 3 600 s. Si aucune valeur n'est spécifiée, il n'y a pas de délai de réduction. Durée en secondes avec neuf chiffres au maximum après la virgule et se terminant par " |
ServiceNetworking
Informations sur la configuration de mise en réseau des services Kubernetes.
Représentation JSON |
---|
{ "service": string, "deployment": string, "disablePodOverprovisioning": boolean } |
Champs | |
---|---|
service |
Obligatoire. Nom du service Kubernetes. |
deployment |
Obligatoire. Nom du déploiement Kubernetes dont le trafic est géré par le service spécifié. |
disablePodOverprovisioning |
Facultatif. Indique si le surprovisionnement des pods doit être désactivé. Si le surprovisionnement des pods est désactivé, Cloud Deploy limite le nombre total de pods utilisés pour la stratégie de déploiement au nombre de pods du déploiement sur le cluster. |
CloudRunConfig
CloudRunConfig contient la configuration de l'environnement d'exécution Cloud Run.
Représentation JSON |
---|
{ "automaticTrafficControl": boolean, "canaryRevisionTags": [ string ], "priorRevisionTags": [ string ], "stableRevisionTags": [ string ] } |
Champs | |
---|---|
automaticTrafficControl |
Indique si Cloud Deploy doit mettre à jour le bloc de trafic dans un service Cloud Run au nom de l'utilisateur afin de faciliter la répartition du trafic. Cette condition est obligatoire pour les CanaryDeployments, mais facultative pour CustomCanaryDeployments. |
canaryRevisionTags[] |
Facultatif. Liste des balises ajoutées à la révision Canary, alors que la phase Canary est en cours. |
priorRevisionTags[] |
Facultatif. Liste des tags ajoutés à la révision précédente alors que la phase Canary est en cours. |
stableRevisionTags[] |
Facultatif. Liste des tags ajoutés à la révision stable finale lorsque la phase stable est appliquée. |
CanaryDeployment
CanaryDeployment représente la configuration de déploiement Canary
Représentation JSON |
---|
{ "percentages": [ integer ], "verify": boolean, "predeploy": { object ( |
Champs | |
---|---|
percentages[] |
Obligatoire. Déploiements basés sur un pourcentage qui seront effectués dans le cadre d'un |
verify |
Indique si les tests de vérification doivent être exécutés après chaque déploiement en pourcentage. |
predeploy |
Facultatif. Configuration du job de prédéploiement de la première phase. Si cette option n'est pas configurée, aucun job de prédéploiement ne sera effectué pour cette phase. |
postdeploy |
Facultatif. Configuration du job de postdéploiement de la dernière phase. Si cette option n'est pas configurée, il n'y aura pas de job de post-déploiement pour cette phase. |
CustomCanaryDeployment
CustomCanaryDeployment représente la configuration de déploiement Canary personnalisée.
Représentation JSON |
---|
{
"phaseConfigs": [
{
object ( |
Champs | |
---|---|
phaseConfigs[] |
Obligatoire. Configuration de chaque phase du déploiement Canary, dans l'ordre exécuté. |
PhaseConfig
PhaseConfig représente la configuration d'une phase du déploiement Canary personnalisé.
Représentation JSON |
---|
{ "phaseId": string, "percentage": integer, "profiles": [ string ], "verify": boolean, "predeploy": { object ( |
Champs | |
---|---|
phaseId |
Obligatoire. ID à attribuer à la phase |
percentage |
Obligatoire. Pourcentage de déploiement pour la phase. |
profiles[] |
Profils Skaffold à utiliser lors de l'affichage du fichier manifeste pour cette phase. Ils s'ajoutent à la liste des profils spécifiée à l'étape |
verify |
Indique si les tests de vérification doivent être exécutés après le déploiement. |
predeploy |
Facultatif. Configuration du job de prédéploiement de cette phase. Si cette option n'est pas configurée, aucun job de prédéploiement ne sera effectué pour cette phase. |
postdeploy |
Facultatif. Configuration du job de postdéploiement de cette phase. Si cette option n'est pas configurée, il n'y aura pas de job de post-déploiement pour cette phase. |
DeployParameters
DeployParameters contient des informations sur les paramètres de déploiement.
Représentation JSON |
---|
{ "values": { string: string, ... }, "matchTargetLabels": { string: string, ... } } |
Champs | |
---|---|
values |
Obligatoire. Les valeurs sont des paramètres de déploiement dans des paires clé/valeur. Objet contenant une liste de paires |
matchTargetLabels |
Facultatif. Les paramètres de déploiement sont appliqués aux cibles avec des libellés de correspondance. S'ils ne sont pas spécifiés, les paramètres de déploiement sont appliqués à toutes les cibles (y compris les cibles enfants d'un groupe multicible). Objet contenant une liste de paires |
PipelineCondition
PipelineCondition contient toutes les conditions pertinentes pour un pipeline de livraison.
Représentation JSON |
---|
{ "pipelineReadyCondition": { object ( |
Champs | |
---|---|
pipelineReadyCondition |
Détails sur l'état général du pipeline. |
targetsPresentCondition |
Détails concernant les cibles énumérées dans le pipeline. |
targetsTypeCondition |
Indique si les cibles énumérées dans le pipeline sont du même type. |
PipelineReadyCondition
"PipelineReadyCondition" contient des informations sur l'état du pipeline.
Représentation JSON |
---|
{ "status": boolean, "updateTime": string } |
Champs | |
---|---|
status |
"True" si le pipeline est dans un état valide. Sinon, l'état d'au moins une condition de |
updateTime |
Heure de la dernière mise à jour de la condition. Horodatage au format RFC3339 UTC "Zulu", avec une résolution de l'ordre de la nanoseconde et jusqu'à neuf chiffres décimaux. Exemples : |
TargetsTypeCondition
CiblesTypeCondition contient des informations indiquant si les cibles définies dans le pipeline de livraison sont du même type.
Représentation JSON |
---|
{ "status": boolean, "errorDetails": string } |
Champs | |
---|---|
status |
"True" si les cibles sont toutes de type comparable. Par exemple, c'est le cas si toutes les cibles sont des clusters GKE. Cette valeur est "false" si certaines cibles sont des cibles Cloud Run et d'autres sont des clusters GKE. |
errorDetails |
Message d'erreur lisible par l'humain. |
Méthodes |
|
---|---|
|
Crée un DeliveryPipeline dans un projet et un emplacement donnés. |
|
Supprime un seul DeliveryPipeline. |
|
Récupère les détails d'un seul DeliveryPipeline. |
|
Récupère la stratégie de contrôle d'accès d'une ressource. |
|
Répertorie les DeliveryPipelines dans un projet et un emplacement donnés. |
|
Met à jour les paramètres d'un seul DeliveryPipeline. |
|
Crée un Rollout pour effectuer un rollback de la cible spécifiée. |
|
Définit la stratégie de contrôle d'accès de la ressource spécifiée. |
|
Renvoie les autorisations qu'un appelant a sur la ressource spécifiée. |