Gerenciar versões de ferramentas

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 especificar versões de ferramentas para usar em operações de renderização, implantação e verificação de manifestos.

Nesta página, descrevemos como as versões da ferramenta Cloud Deploy são selecionadas e o tempo de manutenção e suporte para cada versão.

Versões compatíveis da ferramenta do Cloud Deploy

Com o Cloud Deploy, é possível 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 suas operações. Todas essas versões estão sujeitas à política de manutenção e suspensão de uso.

Versões padrão das ferramentas

Se nenhuma versão de ferramenta especificada pelo usuário for fornecida, as versões padrão serão usadas durante a criação do lançamento.

Uma nova imagem do Cloud Deploy é lançada toda semana com as versões mais recentes das ferramentas disponíveis no momento da criação da imagem. Com base no cronograma 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)'

Controle de versão de ferramentas fixo

Por padrão, todas as versões da ferramenta são salvas no recurso de lançamento. As versões das ferramentas são associadas a uma versão no momento da criação e são usadas durante todo o ciclo de vida dela. Não é possível mudar as versões 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 até a implantação no destino final na progressão e além (reversões ou reimplantações). Para encontrar as versões das ferramentas associadas a um lançamento, 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 da ferramenta não terão toolVersions listadas 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 fixas de ferramentas

Se você quiser desativar o controle de versões fixas de ferramentas e usar as mais recentes para uma versão específica, especifique a palavra-chave especial latest para cada ferramenta. Confira um exemplo de como criar um lançamento 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 para usar

É 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 da ferramenta

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 versões de ferramentas 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 da versão da ferramenta

As versões das 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 da ferramenta ainda serão compatíveis por 60 dias após a expiração. Ainda é possível criar lançamentos progressivos com base nessas versões, mas não é possível criar versões usando uma versão da 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 será 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 da 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 manutenção e a data de 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.

Versão legada do Skaffold

O Cloud Deploy costumava fornecer uma lista específica de versões do Skaffold com suporte. Essas versões do Skaffold correspondiam a uma imagem do Cloud Deploy criada com essa versão específica do Skaffold e outras ferramentas. As versões do Skaffold tiveram suporte por 12 meses, com um período de manutenção de 60 dias.

O Cloud Deploy está abandonando esse modelo para melhorar a postura de segurança. Sem a necessidade de fornecer imagens que correspondam a uma versão específica do Skaffold, o Cloud Deploy pode resolver vulnerabilidades mais rapidamente e atualizar as versões padrão das ferramentas com mais frequência.

As versões atuais do Skaffold vão continuar sendo compatíveis até a data de expiração.

Versão Skaffold A partir de Início da manutenção Expiração
2.16 (notas de lançamento) 12 de maio de 2025 14 de maio de 2026 13 de julho de 2026
2.14 (notas da versão) 17 de fevereiro de 2025 25 de fevereiro de 2026 26 de abril de 2026

Para continuar criando versões que usam essas versões específicas do Skaffold, use a flag --skaffold-version no seguinte comando:

gcloud deploy releases create RELEASE_NAME \
      --delivery-pipeline=PIPELINE_NAME \
      --skaffold-version=SKAFFOLD_VERSION \
      --project=PROJECT \
      --region=REGION