- Recurso: DeliveryPipeline
- Representação JSON
- SerialPipeline
- Fase
- Estratégia
- Padrão
- Pré-implantação
- Pós-implantação
- Canário
- RuntimeConfig
- KubernetesConfig
- GatewayServiceMesh
- ServiceNetworking
- CloudRunConfig
- CanaryDeployment (em inglês)
- CustomCanaryDeployment
- PhaseConfig
- DeployParameters
- PipelineCondition
- PipelineReadyCondition
- TargetsTypeCondition (link em inglês)
- Métodos
Recurso: DeliveryPipeline
Um recurso DeliveryPipeline
na API Cloud Deploy.
Um DeliveryPipeline
define um pipeline pelo qual uma configuração do Skaffold pode avançar.
Representação JSON |
---|
{ "name": string, "uid": string, "description": string, "annotations": { string: string, ... }, "labels": { string: string, ... }, "createTime": string, "updateTime": string, "condition": { object ( |
Campos | |
---|---|
name |
Opcional. Nome da |
uid |
Apenas saída. Identificador exclusivo do |
description |
Descrição do |
annotations |
Anotações do usuário. Esses atributos só podem ser definidos e usados pelo usuário, e não pelo Cloud Deploy. Um objeto com uma lista de pares |
labels |
Rótulos são atributos que podem ser definidos e usados pelo usuário e pelo Cloud Deploy. Os rótulos precisam atender às seguintes restrições:
As chaves e os valores são restritos a <= 128 bytes. Um objeto com uma lista de pares |
createTime |
Apenas saída. Hora em que o pipeline foi criado. Um carimbo de data/hora no formato RFC3339 UTC "Zulu", com resolução de nanossegundos e até nove dígitos fracionários. Exemplos: |
updateTime |
Apenas saída. Horário mais recente em que o pipeline foi atualizado. Um carimbo de data/hora no formato RFC3339 UTC "Zulu", com resolução de nanossegundos e até nove dígitos fracionários. Exemplos: |
condition |
Apenas saída. Informações sobre o estado do pipeline de entrega. |
etag |
Essa soma de verificação é calculada pelo servidor com base no valor de outros campos e pode ser enviada em solicitações de atualização e exclusão para garantir que o cliente tenha um valor atualizado antes de continuar. |
suspended |
Quando suspensa, nenhuma nova versão ou lançamento poderá ser criado, mas os em andamento serão concluídos. |
Campo de união pipeline . A configuração de ordem de DeliveryPipeline . pipeline pode ser apenas de um dos tipos a seguir: |
|
serialPipeline |
SerialPipeline define um conjunto sequencial de estágios para um |
SerialPipeline
SerialPipeline define um conjunto sequencial de estágios para um DeliveryPipeline
.
Representação JSON |
---|
{
"stages": [
{
object ( |
Campos | |
---|---|
stages[] |
Cada estágio especifica a configuração de um |
Etapa
O estágio especifica um local para a implantação.
Representação JSON |
---|
{ "targetId": string, "profiles": [ string ], "strategy": { object ( |
Campos | |
---|---|
targetId |
O targetId para o qual este estágio aponta. Esse campo refere-se exclusivamente ao último segmento do nome de uma segmentação. Por exemplo, esse campo seria apenas |
profiles[] |
Perfis do Skaffold a serem usados ao renderizar o manifesto para o |
strategy |
Opcional. Estratégia a ser usada para um |
deployParameters[] |
Opcional. Os parâmetros de implantação a serem usados para o destino neste estágio. |
Estratégia
A estratégia contém informações sobre a estratégia de implantação.
Representação JSON |
---|
{ // Union field |
Campos | |
---|---|
Campo de união deployment_strategy . Detalhes da estratégia de implantação. deployment_strategy só pode ser de um dos seguintes tipos: |
|
standard |
A estratégia de implantação padrão executa uma única implantação e permite verificar a implantação. |
canary |
A estratégia de implantação canário fornece implantações progressivas baseadas em porcentagem a um destino. |
Padrão
Standard representa a estratégia de implantação padrão.
Representação JSON |
---|
{ "verify": boolean, "predeploy": { object ( |
Campos | |
---|---|
verify |
Define se uma implantação deve ser verificada. |
predeploy |
Opcional. Configuração do job de pré-implantação. Se isso não for configurado, o job de pré-implantação não estará presente. |
postdeploy |
Opcional. Configuração do job de pós-implantação. Se isso não for configurado, o job de pós-implantação não estará presente. |
Pré-implantação
A pré-implantação contém as informações de configuração do job de pré-implantação.
Representação JSON |
---|
{ "actions": [ string ] } |
Campos | |
---|---|
actions[] |
Opcional. Uma sequência de ações personalizadas do Skaffold a serem invocadas durante a execução do job de pré-implantação. |
Pós-implantação
A pós-implantação contém as informações de configuração do job pós-implantação.
Representação JSON |
---|
{ "actions": [ string ] } |
Campos | |
---|---|
actions[] |
Opcional. Uma sequência de ações personalizadas do Skaffold a serem invocadas durante a execução do job de pós-implantação. |
Canal Canary
Canário representa a estratégia de implantação canário.
Representação JSON |
---|
{ "runtimeConfig": { object ( |
Campos | |
---|---|
runtimeConfig |
Opcional. Configurações específicas do ambiente de execução para a estratégia de implantação. A configuração do ambiente de execução é usada para determinar como o Cloud Deploy vai dividir o tráfego para permitir uma implantação progressiva. |
Campo de união mode . O modo a ser usado para a estratégia de implantação canário. mode só pode ser de um dos seguintes tipos: |
|
canaryDeployment |
Configura a implantação baseada em progressão para um destino. |
customCanaryDeployment |
Configura a implantação com base progressiva para um destino, mas permite a personalização no nível de fase em que uma fase representa cada uma das implantações percentuais. |
RuntimeConfig
RuntimeConfig contém as configurações específicas do ambiente de execução para uma estratégia de implantação.
Representação JSON |
---|
{ // Union field |
Campos | |
---|---|
Campo de união runtime_config . Os detalhes da configuração do ambiente de execução. runtime_config só pode ser de um dos seguintes tipos: |
|
kubernetes |
Configuração do ambiente de execução do Kubernetes. |
cloudRun |
Configuração do ambiente de execução do Cloud Run. |
KubernetesConfig
KubernetesConfig contém a configuração do ambiente de execução do Kubernetes.
Representação JSON |
---|
{ // Union field |
Campos | |
---|---|
Campo de união service_definition . A configuração da definição do serviço. service_definition só pode ser de um dos seguintes tipos: |
|
gatewayServiceMesh |
Configuração da malha de serviço da API Kubernetes Gateway. |
serviceNetworking |
Configuração de rede do serviço do Kubernetes. |
GatewayServiceMesh
Informações sobre a configuração da malha de serviço da API Kubernetes Gateway.
Representação JSON |
---|
{ "httpRoute": string, "service": string, "deployment": string, "routeUpdateWaitTime": string, "stableCutbackDuration": string } |
Campos | |
---|---|
httpRoute |
Obrigatório. Nome da HTTPRoute da API Gateway. |
service |
Obrigatório. Nome do serviço do Kubernetes. |
deployment |
Obrigatório. Nome da implantação do Kubernetes com o tráfego gerenciado pelo HTTPRoute e pelo serviço especificados. |
routeUpdateWaitTime |
Opcional. O tempo de espera pela propagação das atualizações de trajeto. O tempo máximo configurável é de 3 horas, no formato de segundos. Se não for especificado, não haverá tempo de espera. Duração em segundos com até nove dígitos fracionários, terminando em " |
stableCutbackDuration |
Opcional. A quantidade de tempo para migrar o tráfego de volta do serviço canário para o serviço original durante a implantação da fase estável. Se especificado, precisa ser entre 15 e 3.600 segundos. Se não for especificado, não haverá tempo de redução. Duração em segundos com até nove dígitos fracionários, terminando em " |
ServiceNetworking
Informações sobre a configuração de rede do serviço do Kubernetes.
Representação JSON |
---|
{ "service": string, "deployment": string, "disablePodOverprovisioning": boolean } |
Campos | |
---|---|
service |
Obrigatório. Nome do serviço do Kubernetes. |
deployment |
Obrigatório. Nome da implantação do Kubernetes com tráfego gerenciado pelo serviço especificado. |
disablePodOverprovisioning |
Opcional. Define se o superprovisionamento de pods será desativado. Se o superprovisionamento de pods estiver desativado, o Cloud Deploy vai limitar o número total de pods usados para a estratégia de implantação ao número de pods que a implantação tem no cluster. |
CloudRunConfig
O CloudRunConfig contém a configuração do ambiente de execução do Cloud Run.
Representação JSON |
---|
{ "automaticTrafficControl": boolean, "canaryRevisionTags": [ string ], "priorRevisionTags": [ string ], "stableRevisionTags": [ string ] } |
Campos | |
---|---|
automaticTrafficControl |
Define se o Cloud Deploy deve atualizar a estrofe de tráfego em um serviço do Cloud Run em nome do usuário para facilitar a divisão do tráfego. Isso precisa ser verdadeiro para CanaryDeployments, mas opcional para CustomCanaryDeployments. |
canaryRevisionTags[] |
Opcional. Uma lista de tags que são adicionadas à revisão canário enquanto a fase canário está em andamento. |
priorRevisionTags[] |
Opcional. Uma lista de tags adicionadas à revisão anterior enquanto a fase canário está em andamento. |
stableRevisionTags[] |
Opcional. Uma lista de tags que são adicionadas à revisão estável final quando a fase estável é aplicada. |
CanaryDeployment
CanaryDeployment representa a configuração de implantação canário
Representação JSON |
---|
{ "percentages": [ integer ], "verify": boolean, "predeploy": { object ( |
Campos | |
---|---|
percentages[] |
Obrigatório. As implantações baseadas em porcentagem que ocorrerão como parte de um |
verify |
Define se os testes de verificação serão executados após cada implantação percentual. |
predeploy |
Opcional. Configuração do job de pré-implantação da primeira fase. Se isso não for configurado, não haverá job de pré-implantação para esta fase. |
postdeploy |
Opcional. Configuração do job de pós-implantação da última fase. Se isso não for configurado, não haverá job de pós-implantação para esta fase. |
CustomCanaryDeployment
CustomCanaryDeployment representa a configuração de implantação canário personalizada.
Representação JSON |
---|
{
"phaseConfigs": [
{
object ( |
Campos | |
---|---|
phaseConfigs[] |
Obrigatório. Configuração para cada fase na implantação canário na ordem executada. |
PhaseConfig
FaseConfig representa a configuração de uma fase na implantação canário personalizada.
Representação JSON |
---|
{ "phaseId": string, "percentage": integer, "profiles": [ string ], "verify": boolean, "predeploy": { object ( |
Campos | |
---|---|
phaseId |
Obrigatório. O ID a ser atribuído à fase |
percentage |
Obrigatório. Porcentagem de implantação da fase. |
profiles[] |
Perfis do Skaffold a serem usados ao renderizar o manifesto para esta fase. Eles são adicionais à lista de perfis especificada na etapa |
verify |
Define se os testes de verificação serão executados após a implantação. |
predeploy |
Opcional. Configuração do job de pré-implantação desta fase. Se isso não for configurado, não haverá job de pré-implantação para esta fase. |
postdeploy |
Opcional. Configuração para o job de pós-implantação desta fase. Se isso não for configurado, não haverá job de pós-implantação para esta fase. |
DeployParameters
O DeployParameters contém informações sobre os parâmetros de implantação.
Representação JSON |
---|
{ "values": { string: string, ... }, "matchTargetLabels": { string: string, ... } } |
Campos | |
---|---|
values |
Obrigatório. Os valores são parâmetros de implantação em pares de chave-valor. Um objeto com uma lista de pares |
matchTargetLabels |
Opcional. Os parâmetros de implantação são aplicados a destinos com rótulos de correspondência. Se não for especificado, os parâmetros de implantação serão aplicados a todos os destinos (incluindo destinos filhos de um destino múltiplo). Um objeto com uma lista de pares |
PipelineCondition
PipelineCondition contém todas as condições relevantes para um pipeline de entrega.
Representação JSON |
---|
{ "pipelineReadyCondition": { object ( |
Campos | |
---|---|
pipelineReadyCondition |
Detalhes sobre o status geral do pipeline. |
targetsPresentCondition |
Detalhes sobre os destinos enumerados no pipeline. |
targetsTypeCondition |
Detalhes sobre se os destinos enumerados no pipeline são do mesmo tipo. |
PipelineReadyCondition
O PipelineReadyCondition contém informações sobre o status do pipeline.
Representação JSON |
---|
{ "status": boolean, "updateTime": string } |
Campos | |
---|---|
status |
Verdadeiro se o pipeline estiver em um estado válido. Caso contrário, pelo menos uma condição em |
updateTime |
Última vez que a condição foi atualizada. Um carimbo de data/hora no formato RFC3339 UTC "Zulu", com resolução de nanossegundos e até nove dígitos fracionários. Exemplos: |
TargetsTypeCondition
TargetsTypeCondition contém informações que indicam se os destinos definidos no pipeline de entrega são do mesmo tipo.
Representação JSON |
---|
{ "status": boolean, "errorDetails": string } |
Campos | |
---|---|
status |
Verdadeiro se os destinos forem todos de um tipo comparável. Por exemplo, isso será verdadeiro se todos os destinos forem clusters do GKE. Será falso se alguns destinos forem do Cloud Run e outros forem clusters do GKE. |
errorDetails |
Mensagem de erro legível. |
Métodos |
|
---|---|
|
Cria um novo DeliveryPipeline em um determinado projeto e local. |
|
Exclui um único DeliveryPipeline. |
|
Recebe detalhes de um único DeliveryPipeline. |
|
Busca a política de controle de acesso de um recurso. |
|
Lista DeliveryPipelines em um determinado projeto e local. |
|
Atualiza os parâmetros de um único DeliveryPipeline. |
|
Cria uma Rollout para reverter o destino especificado. |
|
Define a política de controle de acesso no recurso especificado. |
|
Retorna permissões do autor da chamada no recurso especificado. |