- Recurso: DeliveryPipeline
- Representación JSON0
- SerialPipeline
- Etapa
- Estrategia
- Estándar
- Implementación previa
- Después de la implementación
- Versión canary
- RuntimeConfig
- KubernetesConfig
- GatewayServiceMesh
- ServiceNetworking
- CloudRunConfig
- CanaryDeployment
- CustomCanaryDeployment
- PhaseConfig
- DeployParameters
- PipelineCondition
- PipelineReadyCondition
- TargetsTypeCondition
- Métodos
Recurso: DeliveryPipeline
Un recurso DeliveryPipeline
en la API de Cloud Deploy.
Un DeliveryPipeline
define una canalización a través de la cual puede progresar una configuración de Skaffold.
Representación JSON |
---|
{ "name": string, "uid": string, "description": string, "annotations": { string: string, ... }, "labels": { string: string, ... }, "createTime": string, "updateTime": string, "condition": { object ( |
Campos | |
---|---|
name |
Opcional. Es el nombre del |
uid |
Solo salida. Es el identificador único de |
description |
Descripción de |
annotations |
Anotaciones de usuario Solo el usuario puede configurar y usar estos atributos, no Cloud Deploy. Un objeto que contiene una lista de pares |
labels |
Las etiquetas son atributos que el usuario y Cloud Deploy pueden configurar y usar. Las etiquetas deben cumplir con las siguientes restricciones:
Las claves y los valores tienen restricciones adicionales para ser <= 128 bytes. Un objeto que contiene una lista de pares |
createTime |
Solo salida. Hora en la que se creó la canalización. Una marca de tiempo en formato RFC3339 UTC “Zulú”, con una resolución de nanosegundos y hasta nueve dígitos fraccionarios. Ejemplos: |
updateTime |
Solo salida. Hora más reciente en la que se actualizó la canalización. Una marca de tiempo en formato RFC3339 UTC “Zulú”, con una resolución de nanosegundos y hasta nueve dígitos fraccionarios. Ejemplos: |
condition |
Solo salida. Información sobre el estado de la canalización de entrega. |
etag |
El servidor calcula esta suma de comprobación en función del valor de otros campos, y es posible que se envíe en solicitudes de actualización y eliminación para garantizar que el cliente tenga un valor actualizado antes de continuar. |
suspended |
Cuando se suspende, no se pueden crear nuevas versiones ni lanzamientos, pero se completarán los que estén en progreso. |
Campo de unión pipeline . La configuración de ordenamiento de DeliveryPipeline . pipeline puede ser solo uno de los siguientes: |
|
serialPipeline |
SerialPipeline define un conjunto secuencial de etapas para una |
SerialPipeline
SerialPipeline define un conjunto secuencial de etapas para una DeliveryPipeline
.
Representación JSON |
---|
{
"stages": [
{
object ( |
Campos | |
---|---|
stages[] |
Cada etapa especifica la configuración de un |
Etapa
La etapa especifica la ubicación para la implementación.
Representación JSON |
---|
{ "targetId": string, "profiles": [ string ], "strategy": { object ( |
Campos | |
---|---|
targetId |
El targetId al que apunta esta etapa. Este campo hace referencia exclusivamente al último segmento del nombre de un objetivo. Por ejemplo, este campo solo sería |
profiles[] |
Perfiles de Skaffold que se usarán cuando se renderice el manifiesto del |
strategy |
Opcional. La estrategia que se debe usar para un |
deployParameters[] |
Opcional. Los parámetros de implementación que se usarán para el destino en esta etapa. |
Estrategia
La estrategia contiene información de la estrategia de implementación.
Representación JSON |
---|
{ // Union field |
Campos | |
---|---|
Campo de unión deployment_strategy . Detalles de la estrategia de Deployment deployment_strategy puede ser solo uno de los siguientes: |
|
standard |
La estrategia de implementación estándar ejecuta una única implementación y permite verificarla. |
canary |
La estrategia de implementación de versiones canary proporciona implementaciones progresivas basadas en porcentajes en un objetivo. |
Estándar
Standard representa la estrategia de implementación estándar.
Representación JSON |
---|
{ "verify": boolean, "predeploy": { object ( |
Campos | |
---|---|
verify |
Establece si se debe verificar una implementación. |
predeploy |
Opcional. La configuración del trabajo de implementación previa. Si no se configura, el trabajo previo a la implementación no estará presente. |
postdeploy |
Opcional. La configuración del trabajo posterior a la implementación. Si no se configura, no estará presente el trabajo posterior a la implementación. |
Implementación previa
La implementación previa contiene la información de configuración del trabajo previo a la implementación.
Representación JSON |
---|
{ "actions": [ string ] } |
Campos | |
---|---|
actions[] |
Opcional. Una secuencia de acciones personalizadas de Skaffold para invocar durante la ejecución del trabajo previo a la implementación. |
Posterior a la implementación
Postdeploy contiene la información de configuración del trabajo posterior a la implementación.
Representación JSON |
---|
{ "actions": [ string ] } |
Campos | |
---|---|
actions[] |
Opcional. Una secuencia de acciones personalizadas de Skaffold para invocar durante la ejecución del trabajo posterior a la implementación. |
Canary
Canary representa la estrategia de implementación de versiones canary.
Representación JSON |
---|
{ "runtimeConfig": { object ( |
Campos | |
---|---|
runtimeConfig |
Opcional. Parámetros de configuración específicos del entorno de ejecución para la estrategia de implementación. La configuración del entorno de ejecución se usa para determinar cómo Cloud Deploy dividirá el tráfico a fin de habilitar una implementación progresiva. |
Campo de unión mode . El modo que se usa para la estrategia de implementación de versiones canary. mode puede ser solo uno de los siguientes: |
|
canaryDeployment |
Configura la implementación basada en progresiva para un objetivo. |
customCanaryDeployment |
Configura la implementación basada en progresiva para un objetivo, pero permite la personalización a nivel de fase en el que una fase representa cada uno de los porcentajes de las implementaciones. |
RuntimeConfig
RuntimeConfig contiene los parámetros de configuración específicos del entorno de ejecución para una estrategia de implementación.
Representación JSON |
---|
{ // Union field |
Campos | |
---|---|
Campo de unión runtime_config . Los detalles de la configuración del entorno de ejecución. runtime_config puede ser solo uno de los siguientes: |
|
kubernetes |
configuración del entorno de ejecución de Kubernetes. |
cloudRun |
Configuración del entorno de ejecución de Cloud Run. |
KubernetesConfig
KubernetesConfig contiene la configuración del entorno de ejecución de Kubernetes.
Representación JSON |
---|
{ // Union field |
Campos | |
---|---|
Campo de unión service_definition . La configuración de la definición del servicio. service_definition puede ser solo uno de los siguientes: |
|
gatewayServiceMesh |
Configuración de la malla de servicios de la API de Kubernetes Gateway. |
serviceNetworking |
configuración de herramientas de redes del servicio de Kubernetes. |
GatewayServiceMesh
Información sobre la configuración de la malla de servicios de la API de Kubernetes Gateway.
Representación JSON |
---|
{ "httpRoute": string, "service": string, "deployment": string, "routeUpdateWaitTime": string, "stableCutbackDuration": string } |
Campos | |
---|---|
httpRoute |
Obligatorio. Nombre de la HTTPRoute de la API de puerta de enlace. |
service |
Obligatorio. Nombre del Service de Kubernetes. |
deployment |
Obligatorio. Nombre del Deployment de Kubernetes cuyo tráfico es administrado por el HTTPRoute y el Service especificados. |
routeUpdateWaitTime |
Opcional. El tiempo que se debe esperar a que se propaguen las actualizaciones de la ruta. El tiempo máximo configurable es de 3 horas en formato de segundos. Si no se especifica, no hay tiempo de espera. Una duración en segundos con hasta nueve dígitos decimales, que terminan en “ |
stableCutbackDuration |
Opcional. Es la cantidad de tiempo para migrar el tráfico del servicio Canary al servicio original durante la implementación de la fase estable. Si se especifica, debe ser de entre 15 y 3,600 s. Si no se especifica, no hay un tiempo de reducción. Una duración en segundos con hasta nueve dígitos decimales, que terminan en “ |
ServiceNetworking
Información sobre la configuración de herramientas de redes del servicio de Kubernetes.
Representación JSON |
---|
{ "service": string, "deployment": string, "disablePodOverprovisioning": boolean } |
Campos | |
---|---|
service |
Obligatorio. Nombre del Service de Kubernetes. |
deployment |
Obligatorio. Nombre de la implementación de Kubernetes cuyo tráfico administra el servicio especificado. |
disablePodOverprovisioning |
Opcional. Establece si se debe inhabilitar el aprovisionamiento en exceso de Pods. Si el aprovisionamiento en exceso de Pods está inhabilitado, Cloud Deploy limitará la cantidad total de Pods que se usan para la estrategia de implementación a la cantidad de Pods que el Deployment tiene en el clúster. |
CloudRunConfig
CloudRunConfig contiene la configuración del entorno de ejecución de Cloud Run.
Representación JSON |
---|
{ "automaticTrafficControl": boolean, "canaryRevisionTags": [ string ], "priorRevisionTags": [ string ], "stableRevisionTags": [ string ] } |
Campos | |
---|---|
automaticTrafficControl |
Si Cloud Deploy debe actualizar la estrofa de tráfico en un servicio de Cloud Run en nombre del usuario para facilitar la división del tráfico Esto es obligatorio para los objetos CanaryDeployments, pero es opcional para CustomCanaryDeployments. |
canaryRevisionTags[] |
Opcional. Una lista de las etiquetas que se agregan a la revisión de versiones canary mientras esta fase está en curso. |
priorRevisionTags[] |
Opcional. Una lista de las etiquetas que se agregan a la revisión anterior mientras la fase de versión canary está en curso. |
stableRevisionTags[] |
Opcional. Una lista de las etiquetas que se agregan a la revisión estable final cuando se aplica la fase estable. |
CanaryDeployment
CanaryDeployment representa la configuración de la implementación de versiones canary.
Representación JSON |
---|
{ "percentages": [ integer ], "verify": boolean, "predeploy": { object ( |
Campos | |
---|---|
percentages[] |
Obligatorio. Las implementaciones basadas en porcentajes que se realizarán como parte de un |
verify |
Establece si se deben ejecutar pruebas de verificación después de cada porcentaje de implementación. |
predeploy |
Opcional. Configuración para el trabajo de implementación previa de la primera fase. Si no se configura, no habrá ningún trabajo de implementación previa para esta fase. |
postdeploy |
Opcional. Configuración del trabajo posterior a la implementación de la última fase. Si no se configura, no habrá ningún trabajo posterior a la implementación para esta fase. |
CustomCanaryDeployment
CustomCanaryDeployment representa la configuración de la implementación de versiones canary personalizada.
Representación JSON |
---|
{
"phaseConfigs": [
{
object ( |
Campos | |
---|---|
phaseConfigs[] |
Obligatorio. Configuración para cada fase de la implementación de versiones canary en el orden de ejecución. |
PhaseConfig
FaseConfig representa la configuración de una fase en la implementación de versiones canary personalizada.
Representación JSON |
---|
{ "phaseId": string, "percentage": integer, "profiles": [ string ], "verify": boolean, "predeploy": { object ( |
Campos | |
---|---|
phaseId |
Obligatorio. El ID que se asignará a la fase |
percentage |
Obligatorio. Porcentaje de implementación de la fase. |
profiles[] |
Perfiles de Skaffold para usar cuando se renderiza el manifiesto de esta fase. Estos se suman a la lista de perfiles especificada en la etapa |
verify |
Determina si se deben ejecutar pruebas de verificación después de la implementación. |
predeploy |
Opcional. Configuración para el trabajo previo a la implementación de esta fase. Si no se configura, no habrá ningún trabajo de implementación previa para esta fase. |
postdeploy |
Opcional. Configuración para el trabajo posterior a la implementación de esta fase. Si no se configura, no habrá ningún trabajo posterior a la implementación para esta fase. |
DeployParameters
DeployParameters contiene información de los parámetros de implementación.
Representación JSON |
---|
{ "values": { string: string, ... }, "matchTargetLabels": { string: string, ... } } |
Campos | |
---|---|
values |
Obligatorio. Los valores son parámetros de implementación en pares clave-valor. Un objeto que contiene una lista de pares |
matchTargetLabels |
Opcional. Los parámetros de implementación se aplican a los destinos con etiquetas de coincidencia. Si no se especifica, los parámetros de implementación se aplican a todos los destinos (incluidos los destinos secundarios de un destino múltiple). Un objeto que contiene una lista de pares |
PipelineCondition
PipelineCondition contiene todas las condiciones relevantes para una canalización de entrega.
Representación JSON |
---|
{ "pipelineReadyCondition": { object ( |
Campos | |
---|---|
pipelineReadyCondition |
Detalles sobre el estado general de la canalización. |
targetsPresentCondition |
Detalles sobre los destinos enumerados en la canalización. |
targetsTypeCondition |
Detalles sobre si los destinos enumerados en la canalización son del mismo tipo |
PipelineReadyCondition
PipelineReadyCondition contiene información sobre el estado de la canalización.
Representación JSON |
---|
{ "status": boolean, "updateTime": string } |
Campos | |
---|---|
status |
Es verdadero si la canalización se encuentra en un estado válido. De lo contrario, al menos una condición en |
updateTime |
Última vez que se actualizó la condición. Una marca de tiempo en formato RFC3339 UTC “Zulú”, con una resolución de nanosegundos y hasta nueve dígitos fraccionarios. Ejemplos: |
TargetsTypeCondition
TargetsTypeCondition contiene información sobre si los destinos definidos en la canalización de entrega son del mismo tipo.
Representación JSON |
---|
{ "status": boolean, "errorDetails": string } |
Campos | |
---|---|
status |
Es verdadero si todos los objetivos son de un tipo comparable. Por ejemplo, esto es así si todos los objetivos son clústeres de GKE. Esto es falso si algunos destinos son de Cloud Run y otros son clústeres de GKE. |
errorDetails |
Mensaje de error legible por humanos. |
Métodos |
|
---|---|
|
Crea una DeliveryPipeline nueva en una ubicación y un proyecto determinados. |
|
Borra una sola DeliveryPipeline. |
|
Obtiene detalles de una sola DeliveryPipeline. |
|
Permite obtener la política de control de acceso de un recurso. |
|
Muestra una lista de DeliveryPipelines en un proyecto y una ubicación determinados. |
|
Actualiza los parámetros de una sola DeliveryPipeline. |
|
Crea un Rollout para revertir el destino especificado. |
|
Permite configurar la política de control de acceso en el recurso especificado. |
|
Permite mostrar los permisos que tiene un emisor para un recurso específico. |