Crea la pipeline e i target di distribuzione

Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.

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