Questa pagina descrive come creare la pipeline di distribuzione e le destinazioni che descrivono dove e come Cloud Deploy eseguirà il deployment dell'applicazione. Consulta Schema del file di configurazione per una descrizione della struttura del file YAML per pipeline di distribuzione e target.
Informazioni sulla pipeline di distribuzione e sui target
La pipeline di distribuzione descrive una progressione di target di deployment. Puoi definire queste destinazioni nello stesso file della pipeline di distribuzione o in uno o più file separati.
Dopo aver creato la pipeline di distribuzione e il file o i file di definizione della destinazione, esegui gcloud deploy apply
su ciascuno di questi file per registrarli come risorse Cloud Deploy.
Definisci la pipeline di distribuzione e i target
La struttura dei file di configurazione della pipeline di distribuzione e della destinazione è descritta qui.
Puoi assegnare al file il nome che preferisci. Per convenzione, una configurazione della pipeline di distribuzione
che include definizioni di target è
denominata clouddeploy.yaml
, mentre una che fa riferimento a target definiti in
uno o più file separati è denominata delivery-pipeline.yaml
.
La destinazione può puntare a GKE, GKE Enterprise o Cloud Run. All'interno di una pipeline di distribuzione, tutti i target devono fare riferimento allo stesso tipo di runtime (ad esempio, tutti GKE o tutti GKE Enterprise).
Crea una pipeline di distribuzione e i target utilizzando la console Google Cloud
Puoi utilizzare la console Google Cloud per creare una nuova pipeline di distribuzione e uno o più target. Questo è utile per provare Cloud Deploy, ma non è adatto ai workload di produzione. Puoi anche utilizzare la consoleGoogle Cloud per creare una release.
Per creare la pipeline di distribuzione:
Nella pagina Pipeline di pubblicazione, fai clic su Crea.
Fornisci un nome (o mantieni quello predefinito) e, facoltativamente, una descrizione.
Seleziona la tua regione.
Scegli l'ambiente di runtime.
Per GKE, scegli Google Kubernetes Engine o seleziona Cloud Run se è il runtime di cui stai eseguendo il deployment.
In Nuovo target, fornisci un nome (o mantieni quello predefinito).
Se vuoi richiedere l'approvazione per questa destinazione, seleziona la casella di controllo Richiedi approvazione per le implementazioni.
Se intendi utilizzare una strategia di deployment canary su questo target, seleziona la casella di controllo Attiva canary.
Fai clic su Fine.
Fai clic su Aggiungi target e segui questi passaggi per ogni target aggiuntivo che vuoi creare.
Quando hai tutti i target, fai clic su Crea per creare la pipeline di distribuzione e le risorse di destinazione.
Registra la pipeline di distribuzione e i target
Se hai creato la pipeline e i target utilizzando la console Google Cloud , non è necessario eseguire questa operazione.
Per registrare la pipeline di distribuzione con Cloud Deploy, esegui
gcloud deploy apply
una volta per ogni file di definizione separato. ovvero, se
definisci tre target in tre file, devi eseguire il comando quattro
volte: una volta per la pipeline di distribuzione e una volta per ogni target.
Il comando seguente registra una pipeline di distribuzione con le relative destinazioni definite nello stesso file.
gcloud deploy apply --file=PIPELINE_CONFIG \
--region=LOCATION \
--project=PROJECT
Ora hai una pipeline di distribuzione che può gestire il deployment delle tue release e risorse di destinazione che possono essere utilizzate da qualsiasi pipeline di distribuzione nello stesso progetto e nella stessa regione.
Esempio di file singolo
Il comando in questo esempio registra una pipeline di distribuzione e target definiti nello stesso file:
gcloud deploy apply --file=clouddeploy.yaml --region=us-central1
Esempio che utilizza file separati
Per questo esempio, sono definiti tre target in tre file separati, quindi esegui quattro comandi:
gcloud deploy apply --file=delivery-pipeline.yaml --region=us-central1 && \
gcloud deploy apply --file=target_dev.yaml --region=us-central1 && \
gcloud deploy apply --file=target_staging.yaml --region=us-central1 && \
gcloud deploy apply --file=target_prod.yaml --region=us-central1
Il flag --region
è obbligatorio, a meno che tu non abbia impostato un valore predefinito (utilizzando gcloud
config set deploy/region [REGION]
). La regione deve essere la stessa per la pipeline di distribuzione e per tutti i target a cui fa riferimento la pipeline.
Crea la pipeline di distribuzione e i target utilizzando Terraform
Puoi anche utilizzare il provider Terraform di Google Cloud per creare risorse di pipeline di distribuzione e target.
Il provider Terraform beta potrebbe includere il supporto per le funzionalità di Cloud Deploy in anteprima.Google Cloud
Modificare le pipeline e i target esistenti
Puoi modificare in un secondo momento qualsiasi pipeline di distribuzione o configurazione di destinazione ed eseguire gcloud
deploy apply
per aggiornare la pipeline o la risorsa di destinazione. Tuttavia, queste modifiche
non influiscono sulle uscite esistenti, in quanto sono gestite dalla
pipeline di distribuzione originale.
Richiedere l'approvazione manuale per un deployment
Per richiedere l'approvazione manuale per una determinata destinazione, includi la seguente proprietà nella definizione della destinazione:
requireApproval: true
Il valore predefinito è false
. Se ometti questa proprietà dalla configurazione
della pipeline di distribuzione o non fornisci alcun valore, il deployment in questa destinazione non richiede
l'approvazione. Tuttavia, il chiamante che tenta di eseguire l'upgrade alla destinazione ha ancora bisogno dell'autorizzazione IAM clouddeploy.rollouts.create
.
Puoi anche richiedere l'approvazione manuale per il primo target. Quando viene creata una release, utilizzando la CLI, per il primo target, rollout
viene creato automaticamente. Se è richiesta l'approvazione, Cloud Deploy crea il
rollout
, ma in stato di rilascio in attesa fino a quando non viene concessa l'approvazione.
Passaggi successivi
Consulta la sezione Eseguire il deployment dell'applicazione per scoprire come richiamare la pipeline di distribuzione e creare una release.