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. Per una descrizione della struttura del file YAML per le pipeline di distribuzione e i target, consulta Schema del file di configurazione.

Informazioni sulla pipeline di distribuzione e sui target

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 il file o i file di definizione della pipeline di distribuzione e del target, esegui gcloud deploy apply su ciascuno di questi file per registrarli come risorse Cloud Deploy.

Definire la pipeline di distribuzione e i target

La struttura dei file di configurazione della pipeline di distribuzione e del target è descritta qui.

Puoi assegnare a questo file il nome che preferisci. Per convenzione, una configurazione della pipeline di distribuzione che include le definizioni dei target viene chiamata clouddeploy.yaml, mentre una che fa riferimento ai target definiti in uno o più file separati viene chiamata delivery-pipeline.yaml.

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

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

Puoi utilizzare la Google Cloud console per creare una nuova pipeline di distribuzione e uno o più target. Questa opzione è utile per provare Cloud Deploy, ma non è adatta ai workload di produzione. Puoi anche utilizzare la Google Cloud console per creare una release.

Per creare la pipeline di distribuzione:

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

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

  3. Seleziona la tua regione.

  4. Scegli l'ambiente di runtime.

    Per GKE, scegli Google Kubernetes Engine oppure seleziona Cloud Run se è il runtime in cui stai eseguendo il deployment.

  5. In Nuovo target, fornisci un nome (o mantieni il valore 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. Quando hai tutti i target, fai clic su Crea per creare la pipeline di distribuzione e le risorse target.

Registrare la pipeline di distribuzione e i target

Se hai creato la pipeline e i target utilizzando la Google Cloud console, 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. Ciò significa che, 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 seguente comando 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 in grado di gestire il deployment delle release e le risorse target che possono essere utilizzate da qualsiasi pipeline di distribuzione nello stesso progetto e nella stessa regione.

Un esempio di file singolo

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

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

Un esempio che utilizza file separati

In 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.

Creare 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 Google Cloud provider Terraform beta potrebbe includere il supporto per le funzionalità di Cloud Deploy in anteprima.

Modificare le pipeline e i target esistenti

Puoi modificare in un secondo momento qualsiasi configurazione della pipeline di distribuzione o del target ed eseguire gcloud deploy apply per aggiornare la risorsa della pipeline o del target. Tuttavia, queste modifiche non influiscono sulle release esistenti, in quanto sono gestite dalla pipeline di distribuzione originale.

Richiedere l'approvazione manuale per un deployment

Per richiedere l'approvazione manuale per un determinato target, includi la seguente proprietà su la definizione del target:

requireApproval: true

Il valore predefinito è false. Se ometti questa proprietà dalla configurazione della pipeline di distribuzione o non fornisci un valore, il deployment su questo target non richiede l'approvazione. Tuttavia, il chiamante che tenta di promuovere il target deve comunque 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, viene creato automaticamente il rollout. Se è richiesta l'approvazione, Cloud Deploy crea il rollout, ma in uno stato di release in attesa fino a quando non viene concessa l'approvazione.

Passaggi successivi