- Recurso: DeliveryPipeline
- Representación JSON0
- SerialPipeline
- Etapa
- Estrategia
- Estándar
- Implementación previa
- Posterior a 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 de |
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 también tienen el límite de 128 bytes o menos. 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 verificación según el valor de otros campos, y puede enviarse en las 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 nuevos lanzamientos ni lanzamientos, pero sí se completarán los que están en curso. |
Campo de unión pipeline . La configuración de orden 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 una |
Etapa
La etapa especifica una ubicación en la que realizar 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 de un nombre de destino. Por ejemplo, este campo solo sería |
profiles[] |
Perfiles de Skaffold que se usan cuando se renderiza el manifiesto para el |
strategy |
Opcional. La estrategia que se usa para un |
deployParameters[] |
Opcional. Los parámetros de implementación que se usarán para el destino en esta etapa. |
Estrategia
En la estrategia, se incluye información sobre 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 a un objetivo. |
Estándar
Standard representa la estrategia de implementación estándar.
Representación JSON |
---|
{ "verify": boolean, "predeploy": { object ( |
Campos | |
---|---|
verify |
Determina si se debe verificar una implementación. |
predeploy |
Opcional. Configuración del trabajo de implementación previa. Si no se configura, el trabajo de implementación previa no estará presente. |
postdeploy |
Opcional. Configuración del trabajo posterior a la implementación. Si no se configura, el trabajo posterior a la implementación no estará presente. |
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 de implementación previa. |
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. Opciones de configuración específicas 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 para habilitar una implementación progresiva. |
Campo de unión mode . El modo que se debe usar para la estrategia de implementación de versiones canary. mode puede ser solo uno de los siguientes: |
|
canaryDeployment |
Configura la implementación de base progresiva para un destino. |
customCanaryDeployment |
Configura la implementación de base progresiva para un destino, pero permite la personalización a nivel de la fase en la que una fase representa cada una de las implementaciones porcentuales. |
RuntimeConfig
RuntimeConfig contiene las configuraciones específicas 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 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 Service 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 de la implementación de Kubernetes cuyo tráfico es administrado por el servicio y la ruta HTTP especificados. |
routeUpdateWaitTime |
Opcional. El tiempo de espera a que se propaguen las actualizaciones de ruta. El tiempo máximo configurable es 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. La cantidad de tiempo para migrar el tráfico del Service Canary al Service original durante la implementación de la fase estable. Si se especifica, debe estar entre 15 s y 3,600 s. Si no se especifica, no hay tiempo de reversió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 del Deployment de Kubernetes cuyo tráfico es administrado por el Service especificado. |
disablePodOverprovisioning |
Opcional. Indica si se debe inhabilitar el aprovisionamiento excesivo de Pods. Si se inhabilita el aprovisionamiento excesivo de Pods, Cloud Deploy limitará la cantidad total de Pods usados para la estrategia de implementación a la cantidad de Pods que el Deployment tenga 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 |
Indica 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 CanaryDeployments, pero es opcional para CustomCanaryDeployments. |
canaryRevisionTags[] |
Opcional. Una lista de etiquetas que se agregan a la revisión de versiones canary mientras la fase de versión canary 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 ocurrirán como parte de un |
verify |
Indica si se deben ejecutar pruebas de verificación después de cada implementación porcentual. |
predeploy |
Opcional. Configuración del 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 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 en que se ejecutó. |
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 para la fase. |
profiles[] |
Perfiles de Skaffold para usar cuando se renderiza el manifiesto para esta fase Además de la lista de perfiles especificada en la etapa |
verify |
Determina si se deben ejecutar o no pruebas de verificación después de la implementación. |
predeploy |
Opcional. La configuración del trabajo de implementación previa de esta fase. Si no se configura, no habrá ningún trabajo de implementación previa para esta fase. |
postdeploy |
Opcional. La configuración del 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 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 varios destinos). 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 |
Verdadero si la canalización está en un estado válido. De lo contrario, al menos una condición de |
updateTime |
La ú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 destinos son clústeres de GKE. Este valor es falso si algunos objetivos son de Cloud Run y otros son clústeres de GKE. |
errorDetails |
Mensaje de error legible por humanos. |
Métodos |
|
---|---|
|
Crea una nueva DeliveryPipeline en un proyecto y una ubicación determinados. |
|
Borra una sola DeliveryPipeline. |
|
Obtiene los 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. |