REST Resource: projects.locations.deliveryPipelines.releases

Recurso: Release

Um recurso Release na API Cloud Deploy.

Um Release define uma instância de configuração específica do Skaffold que pode ser implantada.

Representação JSON
{
  "name": string,
  "uid": string,
  "description": string,
  "annotations": {
    string: string,
    ...
  },
  "labels": {
    string: string,
    ...
  },
  "abandoned": boolean,
  "createTime": string,
  "renderStartTime": string,
  "renderEndTime": string,
  "skaffoldConfigUri": string,
  "skaffoldConfigPath": string,
  "buildArtifacts": [
    {
      object (BuildArtifact)
    }
  ],
  "deliveryPipelineSnapshot": {
    object (DeliveryPipeline)
  },
  "targetSnapshots": [
    {
      object (Target)
    }
  ],
  "customTargetTypeSnapshots": [
    {
      object (CustomTargetType)
    }
  ],
  "renderState": enum (RenderState),
  "etag": string,
  "skaffoldVersion": string,
  "targetArtifacts": {
    string: {
      object (TargetArtifact)
    },
    ...
  },
  "targetRenders": {
    string: {
      object (TargetRender)
    },
    ...
  },
  "condition": {
    object (ReleaseCondition)
  },
  "deployParameters": {
    string: string,
    ...
  }
}
Campos
name

string

Opcional. Nome da Release. O formato é projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}/releases/{release}. O componente release precisa corresponder a [a-z]([a-z0-9-]{0,61}[a-z0-9])?

uid

string

Apenas saída. Identificador exclusivo do Release.

description

string

Descrição do Release. O comprimento máximo é de 255 caracteres.

annotations

map (key: string, value: string)

Anotações do usuário. Esses atributos só podem ser definidos e usados pelo usuário, e não pelo Cloud Deploy. Consulte https://google.aip.dev/128#annotations para ver mais detalhes sobre limitações de formato e tamanho.

Um objeto com uma lista de pares "key": value. Exemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

labels

map (key: string, value: string)

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 podem conter apenas letras minúsculas, caracteres numéricos, sublinhados e traços.
  • Todos os caracteres precisam usar a codificação UTF-8. Caracteres internacionais são permitidos.
  • As chaves precisam começar com uma letra minúscula ou um caractere internacional.
  • Cada recurso está limitado a um máximo de 64 rótulos.

As chaves e os valores são restritos a <= 128 bytes.

Um objeto com uma lista de pares "key": value. Exemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

abandoned

boolean

Apenas saída. Indica se esta é uma versão abandonada.

createTime

string (Timestamp format)

Apenas saída. Horário em que o Release 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: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

renderStartTime

string (Timestamp format)

Apenas saída. Horário em que a renderização começou.

Um carimbo de data/hora no formato RFC3339 UTC "Zulu", com resolução de nanossegundos e até nove dígitos fracionários. Exemplos: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

renderEndTime

string (Timestamp format)

Apenas saída. Horário em que a renderização foi concluída.

Um carimbo de data/hora no formato RFC3339 UTC "Zulu", com resolução de nanossegundos e até nove dígitos fracionários. Exemplos: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

skaffoldConfigUri

string

URI do Cloud Storage do arquivo tar.gz contendo a configuração do Skaffold.

skaffoldConfigPath

string

Caminho de arquivo da configuração do Skaffold dentro do URI de configuração.

buildArtifacts[]

object (BuildArtifact)

Lista de artefatos para transmitir ao comando do Skaffold.

deliveryPipelineSnapshot

object (DeliveryPipeline)

Apenas saída. Snapshot do pipeline pai capturado no momento da criação da versão.

targetSnapshots[]

object (Target)

Apenas saída. Snapshot dos destinos no momento da criação da versão.

customTargetTypeSnapshots[]

object (CustomTargetType)

Apenas saída. Snapshot dos tipos de segmentações personalizadas referenciadas pelos destinos no momento da criação da versão.

renderState

enum (RenderState)

Apenas saída. Estado atual da operação de renderização.

etag

string

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.

skaffoldVersion

string

A versão do Skaffold a ser usada ao operar nesta versão, como "1.20.0". Nem todas as versões são válidas. O Cloud Deploy oferece suporte a um conjunto específico de versões.

Se ela for deixada sem definição, a versão compatível mais recente do Skaffold será usada.

targetArtifacts

map (key: string, value: object (TargetArtifact))

Apenas saída. Mapeie do ID de destino para os artefatos de destino criados durante a operação de renderização.

Um objeto com uma lista de pares "key": value. Exemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

targetRenders

map (key: string, value: object (TargetRender))

Apenas saída. Mapeie do ID do destino para os detalhes da operação de renderização desse destino.

Um objeto com uma lista de pares "key": value. Exemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

condition

object (ReleaseCondition)

Apenas saída. Informações sobre o estado do lançamento.

deployParameters

map (key: string, value: string)

Opcional. Os parâmetros de implantação a serem usados para todos os destinos nesta versão.

Um objeto com uma lista de pares "key": value. Exemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

BuildArtifact

Descrição de uma imagem a ser usada durante a renderização do Skaffold.

Representação JSON
{
  "image": string,
  "tag": string
}
Campos
image

string

Nome da imagem na configuração do Skaffold.

tag

string

Tag de imagem a ser usada. Geralmente, será o caminho completo para uma imagem, como "gcr.io/my-project/novembro" ou "gcr.io/my-project/deprecationbox@sha256:abc123" em um arquivo.

RenderState

Estados válidos da operação de renderização.

Tipos enumerados
RENDER_STATE_UNSPECIFIED O estado de renderização não foi especificado.
SUCCEEDED Todas as operações de renderização foram concluídas com êxito.
FAILED Todas as operações de renderização foram concluídas, e uma ou mais falharam.
IN_PROGRESS A renderização foi iniciada e não foi concluída.

TargetArtifact

Os artefatos produzidos por uma operação de renderização de destino.

Representação JSON
{
  "skaffoldConfigPath": string,
  "manifestPath": string,
  "phaseArtifacts": {
    string: {
      object (PhaseArtifact)
    },
    ...
  },

  // Union field uri can be only one of the following:
  "artifactUri": string
  // End of list of possible types for union field uri.
}
Campos
skaffoldConfigPath

string

Apenas saída. Caminho do arquivo da configuração do Skaffold resolvida em relação ao URI.

manifestPath

string

Apenas saída. Caminho do arquivo do manifesto renderizado relativo ao URI.

phaseArtifacts

map (key: string, value: object (PhaseArtifact))

Apenas saída. Mapeie o ID da fase para os artefatos de fase do Target.

Um objeto com uma lista de pares "key": value. Exemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

Campo de união uri.

uri pode ser apenas de um dos tipos a seguir:

artifactUri

string

Apenas saída. URI de um diretório que contém os artefatos. Ele contém a configuração de implantação usada pelo Skaffold durante um lançamento, e todos os caminhos são relativos a esse local.

PhaseArtifact

Contém os caminhos para os artefatos, relativos ao URI, de uma fase.

Representação JSON
{
  "skaffoldConfigPath": string,
  "manifestPath": string,
  "jobManifestsPath": string
}
Campos
skaffoldConfigPath

string

Apenas saída. Caminho do arquivo da configuração do Skaffold resolvida em relação ao URI.

manifestPath

string

Apenas saída. Caminho do arquivo do manifesto renderizado relativo ao URI.

jobManifestsPath

string

Apenas saída. Caminho do arquivo do diretório de manifestos de jobs renderizados relativos ao URI. Isso só é definido se for aplicável.

TargetRender

Detalhes da renderização para um único destino.

Representação JSON
{
  "renderingBuild": string,
  "renderingState": enum (TargetRenderState),
  "metadata": {
    object (RenderMetadata)
  },
  "failureCause": enum (FailureCause),
  "failureMessage": string
}
Campos
renderingBuild

string

Apenas saída. O nome do recurso do objeto Build do Cloud Build que é usado para renderizar o manifesto para esse destino. O formato é projects/{project}/locations/{location}/builds/{build}.

renderingState

enum (TargetRenderState)

Apenas saída. Estado atual da operação de renderização para este destino.

metadata

object (RenderMetadata)

Apenas saída. Os metadados relacionados ao Release renderizado para esse destino.

failureCause

enum (FailureCause)

Apenas saída. Motivo da falha na renderização. Ele sempre não será especificado enquanto a renderização estiver em andamento.

failureMessage

string

Apenas saída. Informações adicionais sobre a falha de renderização, se disponíveis.

TargetRenderState

Estados válidos da operação de renderização.

Tipos enumerados
TARGET_RENDER_STATE_UNSPECIFIED O estado da operação de renderização não foi especificado.
SUCCEEDED A operação de renderização foi concluída.
FAILED Falha na operação de renderização.
IN_PROGRESS A operação de renderização está em andamento.

RenderMetadata

RenderMetadata inclui informações associadas a uma renderização Release.

Representação JSON
{
  "cloudRun": {
    object (CloudRunRenderMetadata)
  },
  "custom": {
    object (CustomMetadata)
  }
}
Campos
cloudRun

object (CloudRunRenderMetadata)

Apenas saída. Metadados associados à renderização do Cloud Run.

custom

object (CustomMetadata)

Apenas saída. Metadados personalizados fornecidos por operação de renderização definida pelo usuário.

CloudRunRenderMetadata

CloudRunRenderMetadata contém informações do Cloud Run associadas a uma renderização Release.

Representação JSON
{
  "service": string
}
Campos
service

string

Apenas saída. O nome do serviço do Cloud Run no manifesto renderizado. O formato é projects/{project}/locations/{location}/services/{service}.

FailureCause

Falhas de renderização conhecidas.

Tipos enumerados
FAILURE_CAUSE_UNSPECIFIED Nenhum motivo para a falha foi especificado.
CLOUD_BUILD_UNAVAILABLE O Cloud Build não está disponível porque não está ativado ou porque o Cloud Deploy não tem permissões suficientes. Consulte a permissão necessária.
EXECUTION_FAILED A operação de renderização não foi concluída. Verifique os registros do Cloud Build.
CLOUD_BUILD_REQUEST_FAILED O Cloud Build falhou ao atender à solicitação do Cloud Deploy. Consulte failedMessage para mais detalhes.
VERIFICATION_CONFIG_NOT_FOUND A operação de renderização não foi concluída porque a estrofe de verificação necessária para verificação não foi encontrada na configuração do Skaffold.
CUSTOM_ACTION_NOT_FOUND A operação de renderização não foi concluída porque a ação personalizada necessária para pré ou pós-implantação não foi encontrada na configuração do Skaffold. Consulte failedMessage para mais detalhes.
DEPLOYMENT_STRATEGY_NOT_SUPPORTED A versão falhou durante a renderização porque a configuração de versão não é compatível com a estratégia de implantação especificada.
RENDER_FEATURE_NOT_SUPPORTED A operação de renderização teve um recurso configurado que não é compatível.

ReleaseCondition

ReleaseCondition contém todas as condições relevantes para um Release.

Representação JSON
{
  "releaseReadyCondition": {
    object (ReleaseReadyCondition)
  },
  "skaffoldSupportedCondition": {
    object (SkaffoldSupportedCondition)
  }
}
Campos
releaseReadyCondition

object (ReleaseReadyCondition)

Detalhes sobre o status geral dos lançamentos.

skaffoldSupportedCondition

object (SkaffoldSupportedCondition)

Detalhes sobre o estado de suporte da versão de lançamento do Skaffold.

ReleaseReadyCondition

ReleaseReadyCondition contém informações sobre o status do Release. Se uma versão não estiver pronta, não será possível criar um lançamento com ela.

Representação JSON
{
  "status": boolean
}
Campos
status

boolean

Verdadeiro se o lançamento estiver em um estado válido. Caso contrário, pelo menos uma condição em ReleaseCondition terá um estado inválido. Itere nessas condições e veja qual(is) tem status = falso para descobrir o que há de errado com o lançamento.

SkaffoldSupportedCondition

SkaffoldSupportedCondition contém informações sobre quando termina o suporte para a versão de lançamento do Skaffold.

Representação JSON
{
  "status": boolean,
  "skaffoldSupportState": enum (SkaffoldSupportState),
  "maintenanceModeTime": string,
  "supportExpirationTime": string
}
Campos
status

boolean

Verdadeiro se a versão do Skaffold usada por esta versão for compatível.

skaffoldSupportState

enum (SkaffoldSupportState)

O estado de suporte do Skaffold para esta versão do Skaffold.

maintenanceModeTime

string (Timestamp format)

A hora em que a versão do Skaffold desta versão entrará no modo de manutenção.

Um carimbo de data/hora no formato RFC3339 UTC "Zulu", com resolução de nanossegundos e até nove dígitos fracionários. Exemplos: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

supportExpirationTime

string (Timestamp format)

A hora em que esta versão do Skaffold não terá mais suporte.

Um carimbo de data/hora no formato RFC3339 UTC "Zulu", com resolução de nanossegundos e até nove dígitos fracionários. Exemplos: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

SkaffoldSupportState

O estado de suporte de uma versão específica do Skaffold.

Tipos enumerados
SKAFFOLD_SUPPORT_STATE_UNSPECIFIED Valor padrão. Esse valor não é usado.
SKAFFOLD_SUPPORT_STATE_SUPPORTED Esta versão do Skaffold é compatível atualmente.
SKAFFOLD_SUPPORT_STATE_MAINTENANCE_MODE Esta versão do Skaffold está em modo de manutenção.
SKAFFOLD_SUPPORT_STATE_UNSUPPORTED Esta versão do Skaffold não é mais suportada.

Métodos

abandon

Abandona uma versão no pipeline de entrega.

create

Cria um novo lançamento em um determinado projeto e local.

get

Recebe detalhes de um único Release.

list

Lista os lançamentos em um determinado projeto e local.