Promuovi la tua release e gestisci le approvazioni

Questa pagina descrive come promuovere una release di Cloud Deploy esistente al target successivo in una pipeline di distribuzione progressione.

Prima di iniziare

Questa pagina presuppone che tu abbia già creato una release.

Promuovere la release

Quando la release viene sottoposta a deployment in un target definito nella pipeline di distribuzione, puoi promuoverla al target successivo:

gcloud

gcloud deploy releases promote --release=RELEASE_NAME \
                               --delivery-pipeline=PIPELINE_NAME \
                               --region=REGION

Dove:

RELEASE_NAME è il nome della release che stai promuovendo.

PIPELINE_NAME è il nome della pipeline di distribuzione che stai utilizzando per gestire il deployment di questa release.

REGION è il nome della regione in cui è stata creata la release, ad esempio us-central1. Campo obbligatorio.

Per ulteriori informazioni sul comando gcloud deploy releases promote consulta la documentazione di riferimento di Google Cloud SDK.

Console

  1. Apri la pagina Pipeline di distribuzione.

  2. Fai clic sulla pipeline visualizzata nell'elenco delle pipeline di distribuzione.

    La pagina dei dettagli della pipeline di distribuzione mostra una rappresentazione grafica dell'avanzamento della pipeline di distribuzione.

    visualizzazione della pipeline di distribuzione nella console Google Cloud

  3. Nel primo target nella visualizzazione della pipeline di distribuzione, fai clic su Promuovi.

    Viene visualizzata la finestra di dialogo Promuovi release. Mostra i dettagli del target a cui stai eseguendo la promozione.

  4. Fai clic su Promuovi.

Se la pipeline di distribuzione o il target sono stati modificati dopo la creazione della release, Cloud Deploy restituisce un messaggio che indica una possibile mancata corrispondenza e ti chiede di confermare la promozione. Puoi rispondere n al prompt ed esaminare le differenze tra le versioni della pipeline prima di procedere. Se scegli di promuovere comunque, la release viene sottoposta a deployment in base alla pipeline di distribuzione così come era definita al momento della creazione della release. Per ulteriori informazioni sulle mancate corrispondenze della pipeline, consulta Istanze pipeline per release.

Cloud Deploy crea un rollout per la release nel target di destinazione e la release viene messa in coda per il deployment. Quando viene sottoposta a deployment, la visualizzazione della pipeline di distribuzione mostra questo fatto:

visualizzazione della pipeline di distribuzione nella console Google Cloud

Gestire le approvazioni per una pipeline di distribuzione

Puoi richiedere l'approvazione per qualsiasi target e puoi approvare o rifiutare le release in quel target.

Le approvazioni possono essere gestite a livello di programmazione integrando il sistema di gestione dei workflow (ad esempio ServiceNow) o un altro sistema con Cloud Deploy utilizzando Pub/Sub e l'API Cloud Deploy.

Richiedere l'approvazione

Per richiedere l'approvazione su qualsiasi target, imposta requireApproval su true nella configurazione del target:

     apiVersion: deploy.cloud.google.com/v1
     kind: Target
     metadata:
      name:
     description:
     requireApproval: true

Per ulteriori dettagli, consulta Configurazione della pipeline di distribuzione.

Quando un rollout è in attesa di approvazione, gli utenti o i sistemi che si abbonano all'argomento Pub/Sub clouddeploy-approvals ricevono una notifica dall'argomento clouddeploy-approvals e possono quindi approvare o rifiutare il rollout.

Quando utilizzi il deployment parallelo, puoi configurare il multi-target in modo che richieda l'approvazione. Se la promozione al target viene rifiutata, il rollout del controller non riesce, con uno stato APPROVAL_REJECTED, e i rollout secondari non vengono creati.

Approvare o rifiutare un rollout

Qualsiasi utente o account di servizio con il ruolo roles/clouddeploy.approver può approvare un rollout di Cloud Deploy in un target che richiede l'approvazione.

Il sistema di gestione dei flussi di lavoro integrato, dopo aver ricevuto una notifica di approvazione richiesta tramite le notifiche di servizio, può approvare o rifiutare il rollout utilizzando l'API Cloud Deploy.

Approvare o rifiutare manualmente

Console

  1. Nella Google Cloud console, vai alla pagina Pipeline di distribuzione di Cloud Deploy per visualizzare l'elenco delle pipeline di distribuzione disponibili.

    Apri la pagina Pipeline di distribuzione

    L'elenco delle pipeline di distribuzione viene visualizzato nella Google Cloud console. Le pipeline di distribuzione che sono state configurate ma non registrate con il servizio Cloud Deploy non vengono visualizzate.

  2. Fai clic sul nome della pipeline di distribuzione.

    Viene visualizzata la visualizzazione della pipeline. Se l'approvazione è in attesa e hai il ruolo roles/clouddeploy.approver o autorizzazioni equivalenti, la visualizzazione include un link Esamina.

    Visualizzazione della pipeline di distribuzione, con approvazione in attesa

  3. Fai clic su Esamina.

    Viene visualizzato un elenco di rollout in attesa di approvazione.

    Implementazioni per questa
pipeline, in attesa di approvazione

  4. Fai clic su Esamina.

    Viene visualizzata la schermata Approva rollout.

    Dettagli dell'implementazione
con approvazione in attesa

    La scheda Differenza manifest mostra le modifiche apportate al manifest sottoposto a rendering da la versione attualmente sottoposta a deployment (se presente) a quella che stai approvando (o rifiutando).

  5. Fai clic su Approva o Rifiuta.

    Se approvi, l'applicazione viene sottoposta a deployment nel target. Se rifiuti, l'applicazione non viene sottoposta a deployment e non può essere approvata in un secondo momento, a meno che non venga promossa di nuovo.

gcloud

Un utente con il ruolo roles/clouddeploy.approver può approvare o rifiutare manualmente un rollout. Per approvare:

gcloud deploy rollouts approve rollout-name --delivery-pipeline=pipeline-name \
                                                                   --region=region \
                                                                   --release=release-name

Per rifiutare:

gcloud deploy rollouts reject rollout-name --delivery-pipeline=pipeline-name \
                                                                  --region=region \
                                                                  --release=release-name