Crea la pipeline di distribuzione e i target

Questa pagina descrive come creare la pipeline di distribuzione e i target 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 le pipeline di importazione e i target.

Informazioni sulla pipeline di distribuzione e sui target

La pipeline di distribuzione descrive una progressione di target di deployment. Puoi definire questi obiettivi nello stesso file della pipeline di distribuzione o in uno o più file distinti.

Dopo aver creato la pipeline di importazione e il file o i file di definizione del target, 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 della pipeline di distribuzione e dei file di configurazione del target è descritta qui.

Puoi assegnare al file il nome che preferisci. Per convenzione, un file di configurazione della pipeline di importazione che include definizioni di target si chiama clouddeploy.yaml, mentre un file che fa invece riferimento a target definiti in uno o più file distinti si chiama delivery-pipeline.yaml.

Il target può puntare a GKE, GKE Enterprise o Cloud Run. All'interno di una pipeline di importazione, tutti i target devono fare riferimento allo stesso tipo di runtime (ad esempio tutti GKE o tutti GKE Enterprise).

Creare una pipeline di distribuzione e i target utilizzando la console Google Cloud

Puoi utilizzare la console Google Cloud per creare una nuova pipeline di importazione e uno o più target. Questo è utile per provare Cloud Deploy, ma non è adatto per i workload di produzione. Puoi anche utilizzare la console Google Cloud per creare una release.

Per creare la pipeline di distribuzione:

  1. Nella pagina Pipeline di importazione, fai clic su Crea.

  2. Fornisci un nome (o mantieni quello predefinito) e, facoltativamente, una descrizione.

  3. Seleziona la tua regione.

  4. Scegli l'ambiente di runtime.

    Per GKE, scegli Google Kubernetes Engine o seleziona Cloud Run se è il runtime in cui esegui il deployment.

  5. In Nuovo target, fornisci un nome (o mantieni quello predefinito).

  6. Se vuoi richiedere l'approvazione per questo target, seleziona la casella di controllo Richiedi approvazione per le implementazioni.

  7. Se intendi utilizzare una strategia di deployment canary su questo target, seleziona la casella di controllo Attiva canary.

  8. Fai clic su Fine.

  9. Fai clic su Aggiungi target e segui questi passaggi per ogni target aggiuntivo che vuoi creare.

  10. Una volta individuati tutti i target, fai clic su Crea per creare la pipeline di distribuzione e le risorse target.

Registra la pipeline di distribuzione e i target

Se hai creato la pipeline e i target utilizzando la console Google Cloud, non devi eseguire questa operazione.

Per registrare la pipeline di distribuzione con Cloud Deploy, esegui gcloud deploy apply una volta per ogni file di definizione separato. In altre parole, se definisci tre target in tre file, esegui il comando quattro volte: una per la pipeline di distribuzione e una per ogni target.

Il comando seguente registra una pipeline di distribuzione con i relativi target definiti 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 release e le risorse di destinazione che possono essere utilizzate da qualsiasi pipeline di distribuzione nella stessa regione e nello stesso progetto.

Un esempio di file singolo

Il comando in questo esempio registra una pipeline di distribuzione e target tutti definiti nello stesso file:

gcloud deploy apply --file=clouddeploy.yaml --region=us-central1

Un esempio che utilizza file separati

Per questo esempio, sono definiti tre target in tre file distinti, quindi devi eseguire 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 non ne abbia impostato uno 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 di Google Cloud potrebbe includere il supporto delle funzionalità di Cloud Deploy in anteprima.

Modificare pipeline e target esistenti

In un secondo momento, puoi modificare qualsiasi pipeline di importazione o configurazione di destinazione ed eseguire gcloud deploy apply per aggiornare la pipeline o la risorsa di destinazione. Tuttavia, queste modifiche non influiscono sulle release esistenti, in quanto sono gestite dalla pipeline di caricamento originale.

Richiedere l'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à da delivery-pipeline config o non fornisci un valore, il deployment in questo target non richiede approvazione. Tuttavia, l'utente che tenta di eseguire la promozione al target deve disporre 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 uno stato di rilascio in attesa fino all'approvazione.

Passaggi successivi