Crea la pipeline di distribuzione e i target

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:

  1. Nella pagina Pipeline di pubblicazione, 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 di cui stai eseguendo il deployment.

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

  6. Se vuoi richiedere l'approvazione per questa destinazione, 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 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