Gestire le versioni degli strumenti

Cloud Deploy esegue le operazioni utilizzando un'immagine personalizzata, che include le versioni predefinite degli strumenti. Cloud Deploy ti offre flessibilità e controllo sul processo di deployment consentendoti di specificare le versioni degli strumenti da utilizzare nelle operazioni per eseguire il rendering, il deployment e la verifica dei manifest.

Questa pagina descrive come vengono selezionate le versioni degli strumenti Cloud Deploy e il periodo di manutenzione e assistenza per ogni versione dello strumento.

Versioni degli strumenti Cloud Deploy supportate

Cloud Deploy ti consente di selezionare le versioni dei seguenti strumenti:

Cloud Deploy fornisce un repository di versioni degli strumenti disponibili che puoi utilizzare per le tue operazioni. Tutte queste versioni sono soggette alle norme di manutenzione e sul ritiro.

Versioni predefinite degli strumenti

Se non vengono fornite versioni degli strumenti specificate dall'utente, durante la creazione della release vengono utilizzate le versioni predefinite degli strumenti.

Ogni settimana viene rilasciata una nuova immagine Cloud Deploy contenente le versioni degli strumenti più recenti disponibili al momento della creazione dell'immagine. A seconda della tempistica dei diversi programmi di rilascio degli strumenti, una nuova versione dello strumento potrebbe richiedere fino a due settimane per diventare quella predefinita.

Puoi visualizzare le versioni predefinite eseguendo il seguente comando:

gcloud deploy get-config \
      --project=PROJECT \
      --region=REGION \
      --format 'yaml(defaultToolVersions)'

Controllo delle versioni degli strumenti fissi

Per impostazione predefinita, tutte le versioni degli strumenti vengono salvate nella risorsa release. Le versioni degli strumenti sono associate a una release al momento della creazione e vengono utilizzate per l'intero ciclo di vita della release e non possono essere modificate durante questo periodo. Il ciclo di vita della release è costituito da tutti i job di rendering, deployment e altri job sulla release. Ciò include il deployment nella destinazione finale nella progressione e oltre (rollback o redeployment). Puoi trovare le versioni degli strumenti associate a una release eseguendo il seguente comando:

gcloud deploy releases describe RELEASE_NAME \
       --delivery-pipeline=PIPELINE_NAME \
       --project=PROJECT \
       --region=REGION \
       --format='yaml(toolVersions)'

Le release create prima della funzionalità di controllo delle versioni degli strumenti non avranno toolVersions elencate nell'output. Puoi invece visualizzare la versione Skaffold con il --format 'yaml(skaffoldVersion)' flag.

Disabilitare il controllo delle versioni degli strumenti fissi

Se vuoi disabilitare il controllo delle versioni degli strumenti fissi e utilizzare gli strumenti più recenti per una determinata release, puoi farlo specificando la parola chiave speciale latest per ogni strumento. Ecco un esempio di creazione di una release che utilizza le versioni più recenti di tutti gli strumenti:

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

Come specificare una versione particolare dello strumento da utilizzare

Puoi utilizzare una qualsiasi delle versioni degli strumenti supportate. Per specificare la versione che vuoi utilizzare, includi il flag appropriato per lo strumento specifico:

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

Per tutti gli strumenti in cui vuoi utilizzare la versione predefinita, puoi omettere il flag della versione corrispondente.

Ad esempio, il seguente comando utilizza Skaffold 2.16.1 e 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

Compatibilità delle versioni degli strumenti

Cloud Deploy si assume la responsabilità di garantire che le versioni degli strumenti siano compatibili con l'immagine Cloud Deploy. Se utilizzi la funzionalità di sostituzione della versione dello strumento per sostituire le versioni degli strumenti nell'immagine Cloud Deploy, sei responsabile della scelta delle versioni degli strumenti compatibili.

Norme di manutenzione e deprecazione delle versioni degli strumenti

Le versioni degli strumenti sono supportate per 12 mesi con un periodo di manutenzione di 60 giorni, a partire dal giorno dell'importazione. Questo periodo di manutenzione significa che le release associate a una versione dello strumento sono ancora supportate per 60 giorni dopo la scadenza del supporto per quella versione dello strumento. Puoi comunque creare implementazioni da queste release, ma non puoi creare release utilizzando una versione dello strumento nel periodo di manutenzione.

Dopo il periodo di manutenzione di 60 giorni, la versione dello strumento non è più supportata per nessuna operazione. Non puoi più creare implementazioni da una release che utilizza la versione non supportata. Tuttavia, tutti i dati associati alla release rimangono.

Puoi visualizzare le date di manutenzione e scadenza della release eseguendo il seguente comando:

gcloud deploy releases describe RELEASE_NAME \
       --delivery-pipeline=PIPELINE_NAME \
       --project=PROJECT \
       --region=REGION \
       --format 'yaml(condition)'

Puoi anche visualizzare la data di manutenzione e scadenza di uno strumento specifico eseguendo il comando:

gcloud artifacts versions list \
       --package TOOL_NAME \
       --repository tools \
       --project cd-image-prod \
       --location=REGION

Le date di manutenzione e scadenza sono disponibili come annotazioni nelle rispettive versioni.

Versione Skaffold precedente

In precedenza, Cloud Deploy forniva un elenco specifico di versioni Skaffold supportate. Queste versioni Skaffold corrispondevano a un'immagine Cloud Deploy creata con quella versione specifica di Skaffold e altri strumenti. Le versioni Skaffold erano supportate per 12 mesi, con un periodo di manutenzione di 60 giorni.

Cloud Deploy sta abbandonando questo modello a favore del miglioramento della postura di sicurezza di Cloud Deploy. Senza la necessità di fornire immagini corrispondenti a una versione Skaffold specifica, Cloud Deploy può risolvere le vulnerabilità più rapidamente e aggiornare le versioni predefinite degli strumenti più frequentemente.

Le versioni Skaffold esistenti continueranno a essere supportate fino alla data di scadenza.

Versione Skaffold Data di validità Inizio manutenzione Scadenza
2.16 (note di rilascio) 12 maggio 2025 14 maggio 2026 13 luglio 2026
2.14 (note di rilascio) 17 febbraio 2025 25 febbraio 2026 26 aprile 2026

Puoi continuare a creare release che utilizzano queste versioni Skaffold specifiche utilizzando il flag --skaffold-version nel seguente comando:

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