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 dello strumento Cloud Deploy e i tempi di manutenzione e assistenza per ogni versione dello strumento.
Versioni dello strumento Cloud Deploy supportate
Cloud Deploy ti consente di selezionare le versioni per i 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 ritiro.
Versioni degli strumenti fisse
Per impostazione predefinita, tutte le versioni dello strumento vengono salvate nella risorsa di rilascio. Le versioni degli strumenti sono associate a una release al momento della creazione e vengono utilizzate per l'intero ciclo di vita della release, senza possibilità di modifica. Il ciclo di vita della release è costituito da tutti i job di rendering, deployment e altri job relativi a quella release. Ciò include il deployment nel target finale della progressione e oltre (rollback o redeployment). Puoi trovare le versioni degli strumenti associate a una release eseguendo questo 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 dello strumento non avranno toolVersions
elencato nel loro output. Puoi invece visualizzare la versione di Skaffold
con il flag --format 'yaml(skaffoldVersion)'.
Disabilita il controllo delle versioni degli strumenti fissi
Se vuoi disattivare 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 di versioni degli strumenti compatibili.
Norme relative alla manutenzione e alla 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 che si trova nel periodo di manutenzione.
Al termine del 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 questo comando:
gcloud deploy releases describe RELEASE_NAME \
--delivery-pipeline=PIPELINE_NAME \
--project=PROJECT \
--region=REGION \
--format 'yaml(condition)'
Puoi anche visualizzare la manutenzione e la data di 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.