O Cloud Deploy realiza as operações usando uma imagem personalizada, que inclui versões de ferramentas padrão. O Cloud Deploy oferece flexibilidade e controle sobre o processo de implantação, permitindo que você especifique as versões das ferramentas a serem usadas nas operações para renderizar, implantar e verificar seus manifestos.
Esta página descreve como as versões das ferramentas do Cloud Deploy são selecionadas e o tempo de manutenção e suporte para cada versão.
Versões de ferramentas compatíveis do Cloud Deploy
O Cloud Deploy permite selecionar as versões das seguintes ferramentas:
O Cloud Deploy oferece um repositório de versões de ferramentas disponíveis que podem ser usadas nas operações. Todas essas versões estão sujeitas à política de manutenção e suspensão de uso.
Versões de ferramentas padrão
Se nenhuma versão de ferramenta especificada pelo usuário for fornecida, as versões padrão serão usadas durante a criação da versão.
Uma nova imagem do Cloud Deploy é lançada todas as semanas contendo as versões de ferramentas mais recentes disponíveis no momento em que a imagem é criada. Com base no tempo de diferentes programações de lançamento das ferramentas, uma nova versão pode levar até duas semanas para se tornar a padrão.
Para conferir as versões padrão, execute o seguinte comando:
gcloud deploy get-config \
--project=PROJECT \
--region=REGION \
--format 'yaml(defaultToolVersions)'
Versão fixa da ferramenta
Todas as versões de ferramentas são salvas no recurso de versão por padrão. As versões de ferramentas são associadas a uma versão na criação e usadas durante todo o ciclo de vida dela, e não podem ser alteradas durante esse período. O ciclo de vida da versão consiste em todos os jobs de renderização, implantação e outros nessa versão. Isso inclui a implantação no destino final na progressão e além (reversões ou reimplantamentos). Para encontrar as versões de ferramentas associadas a uma versão, execute o seguinte comando:
gcloud deploy releases describe RELEASE_NAME \
--delivery-pipeline=PIPELINE_NAME \
--project=PROJECT \
--region=REGION \
--format='yaml(toolVersions)'
As versões criadas antes do recurso de controle de versões de ferramentas não terão toolVersions listados na saída. Em vez disso, é possível conferir a versão do Skaffold
com a flag --format 'yaml(skaffoldVersion)'.
Desativar o controle de versões fixo da ferramenta
Se você quiser desativar o controle de versões fixo da ferramenta e usar as ferramentas mais recentes para uma determinada versão, especifique a palavra-chave especial latest para cada ferramenta. Confira um exemplo de como criar uma versão que usa as versões mais recentes de todas as ferramentas:
gcloud deploy releases create RELEASE_NAME \
--delivery-pipeline=PIPELINE_NAME \
--project=PROJECT \
--region=REGION \
--docker-version=latest \
--helm-version=latest \
--kpt-version=latest \
--kubectl-version=latest \
--kustomize-version=latest \
--skaffold-version=latest
Como especificar uma versão de ferramenta específica a ser usada
É possível usar qualquer uma das versões de ferramentas compatíveis. Para especificar a versão que você quer usar, inclua a flag apropriada para a ferramenta específica:
gcloud deploy releases create RELEASE_NAME \
--delivery-pipeline=PIPELINE_NAME \
--project=PROJECT \
--region=REGION \
--docker-version=DOCKER_VERSION \
--helm-version=HELM_VERSION \
--kpt-version=KPT_VERSION \
--kubectl-version=KUBECTL_VERSION \
--kustomize-version=KUSTOMIZE_VERSION \
--skaffold-version=SKAFFOLD_VERSION
Para qualquer ferramenta em que você queira usar a versão padrão, omita a flag de versão correspondente.
Por exemplo, o comando a seguir usa o Skaffold 2.16.1 e o Helm 3.18.3:
gcloud deploy releases create release-001 \
--delivery-pipeline=PIPELINE_NAME \
--skaffold-version=2.16.1 \
--helm-version=3.18.3 \
--project=PROJECT \
--region=REGION
Compatibilidade de versões de ferramentas
O Cloud Deploy é responsável por garantir que as versões das ferramentas sejam compatíveis na imagem do Cloud Deploy. Se você usar o recurso de substituição de versão da ferramenta para substituir as versões na imagem do Cloud Deploy, será responsável por escolher versões de ferramentas compatíveis.
Política de suspensão de uso e manutenção de versões de ferramentas
As versões de ferramentas são compatíveis por 12 meses com um período de manutenção de 60 dias, a partir do dia em que são importadas. Esse período de manutenção significa que as versões vinculadas a uma versão de ferramenta ainda serão compatíveis por 60 dias após a expiração do suporte. Ainda é possível criar lançamentos a partir dessas versões, mas não é possível criar versões usando uma versão de ferramenta que esteja no período de manutenção.
Após o período de manutenção de 60 dias, a versão da ferramenta não será mais compatível com nenhuma operação. Não é mais possível criar lançamentos de uma versão que usa a versão incompatível. No entanto, todos os dados associados à versão permanecem.
Para conferir as datas de manutenção e expiração na versão, execute o seguinte comando:
gcloud deploy releases describe RELEASE_NAME \
--delivery-pipeline=PIPELINE_NAME \
--project=PROJECT \
--region=REGION \
--format 'yaml(condition)'
Também é possível conferir a data de manutenção e expiração de uma ferramenta específica executando o comando:
gcloud artifacts versions list \
--package TOOL_NAME \
--repository tools \
--project cd-image-prod \
--location=REGION
As datas de manutenção e expiração estão disponíveis como anotações nas respectivas versões.