Questa pagina descrive come creare la pipeline di distribuzione e i target che descrivono dove e come Google Cloud Deploy eseguirà il deployment dell'applicazione. Consulta la pagina relativa allo schema dei file di configurazione per una descrizione della struttura del file YAML per pipeline e destinazioni di distribuzione.
Informazioni sulla pipeline di distribuzione e sulle destinazioni
La pipeline di distribuzione descrive una progressione dei target di deployment. Puoi definire questi target nello stesso file della pipeline di distribuzione o in uno o più file separati.
Dopo aver creato la pipeline di distribuzione e i file di definizione della destinazione, esegui gcloud deploy apply
su ciascuno di questi file per registrarli come risorse di Google Cloud Deploy.
Definisci la pipeline di distribuzione e le destinazioni
La struttura della pipeline di distribuzione e dei file di configurazione di destinazione è descritta qui.
Puoi chiamare questo file come preferisci. Per convenzione, una configurazione di pipeline di distribuzione che include le definizioni di target è denominata clouddeploy.yaml
, mentre una che fa riferimento alle destinazioni definite in uno o più file separati è denominata delivery-pipeline.yaml
.
La destinazione può puntare a GKE, Anthos o Cloud Run.
Registra la pipeline e i target di distribuzione
Per registrare la tua pipeline di distribuzione con Google Cloud Deploy, esegui gcloud deploy apply
una volta per ogni file di definizione separato. In altre parole, se definisci tre destinazioni in tre file, eseguirai il comando quattro
volte, una per la pipeline di distribuzione e una per ogni destinazione.
Il comando seguente registra una pipeline di distribuzione con i target definiti nello stesso file.
gcloud deploy apply --file=PIPELINE_CONFIG \
--region=LOCATION \
--project=PROJECT
Ora hai una pipeline di distribuzione in grado di gestire il deployment delle release e di destinazione delle risorse che possono essere utilizzate da qualsiasi pipeline di distribuzione nello stesso progetto e nella stessa area geografica.
Esempio di file singolo
Il comando in questo esempio registra una pipeline di distribuzione e dei target definiti tutti nello stesso file:
gcloud deploy apply --file=clouddeploy.yaml --region=us-central1
Un esempio che utilizza i file separati
Per questo esempio, le destinazioni sono definite 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 tutte le destinazioni 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 per la pipeline di distribuzione e il targeting.
Modifica destinazioni e pipeline esistenti
In seguito potrai modificare qualsiasi pipeline di distribuzione o configurazione di destinazione ed eseguire gcloud
deploy apply
per aggiornare la risorsa di destinazione o la pipeline. Tuttavia, queste modifiche non influiscono sulle release esistenti, poiché sono gestite dalla pipeline di distribuzione originale.
Richiedi approvazione manuale per un deployment
Per richiedere l'approvazione manuale per un determinato target, includi la seguente proprietà nella definizione del target:
requireApproval: true
Il valore predefinito è false
. Se ometti questa proprietà dalla configurazione di pipeline di distribuzione o non fornisci alcun valore per questa proprietà, il deployment in questa destinazione non richiede l'approvazione. Tuttavia, il chiamante che tenta di promuovere il target alla destinazione ha comunque bisogno dell'autorizzazione IAM clouddeploy.rollouts.create
.
Puoi persino richiedere l'approvazione manuale per il primo target. Quando viene creata una release, utilizzando l'interfaccia a riga di comando, per il primo target, viene creato automaticamente il rollout
. Se è necessaria l'approvazione, Google Cloud Deploy crea il rollout
, ma è in stato di attesa in attesa fino all'approvazione.
Passaggi successivi
Consulta la pagina relativa al deployment della tua applicazione per scoprire come richiamare la pipeline di distribuzione e creare una release.