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.

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.