Promuovi la tua release e gestisci le approvazioni

Questa pagina descrive come promuovere una release Cloud Deploy esistente nella destinazione successiva nell'avanzamento della pipeline di distribuzione.

Prima di iniziare

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

Promuovi la release

Quando viene eseguito il deployment della release in una destinazione definita nella pipeline di distribuzione, puoi promuoverla alla destinazione successiva:

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 utilizzata 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 il riferimento di Google Cloud SDK.

Console

  1. Apri la pagina Pipeline di pubblicazione.

  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. Sul 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 effettuando la promozione.

  4. Fai clic su Promuovi.

Se la pipeline di distribuzione o la destinazione sono cambiate dalla creazione della release, Cloud Deploy restituisce un messaggio che indica una possibile corrispondenza e ti chiede di confermare la promozione. Puoi rispondere n alla richiesta ed esaminare le differenze tra le versioni della pipeline prima di procedere. Se scegli di promuovere comunque, il deployment della release viene eseguito in base alla pipeline di distribuzione definita al momento della creazione della release. Consulta Istanze di pipeline per release per ulteriori informazioni sulle mancate corrispondenze delle pipeline.

Cloud Deploy crea un rollout per la release nella destinazione di destinazione e la release viene messa in coda per il deployment. Una volta eseguito il deployment, la visualizzazione della pipeline di distribuzione mostra quanto segue:

visualizzazione della pipeline di distribuzione nella console Google Cloud

Gestire le approvazioni per una pipeline di distribuzione

Puoi richiedere l'approvazione per qualsiasi destinazione e approvare o rifiutare le release per quella destinazione.

Le approvazioni possono essere gestite in modo programmatico integrando il tuo sistema di gestione dei flussi di lavoro (ad esempio ServiceNow) o altri sistemi con Cloud Deploy tramite Pub/Sub e l'API Cloud Deploy.

Richiedi approvazione

Per richiedere l'approvazione per qualsiasi destinazione, imposta requireApproval su true nella configurazione di destinazione:

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

Per ulteriori dettagli, consulta Configurazione della pipeline di distribuzione.

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

Quando utilizzi il deployment parallelo, puoi configurare il target multiplo in modo da richiedere l'approvazione. Se la promozione nella destinazione viene rifiutata, l'implementazione del controller non riesce e lo stato è APPROVAL_REJECTED e le implementazioni secondarie non vengono create.

Approvare o rifiutare un'implementazione

Ogni destinazione può richiedere l'approvazione prima del deployment di una release. Quando esegui la promozione a una destinazione che richiede approvazione, Cloud Deploy pubblica un messaggio Pub/Sub nell'argomento clouddeploy-approvals.

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

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

Approva o rifiuta manualmente

Console

  1. Nella console Google Cloud, 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 è visualizzato nella console Google Cloud. Le pipeline di distribuzione che sono state configurate ma non registrate con Cloud Deployservice non vengono mostrate.

  2. Fai clic sul nome della pipeline di distribuzione.

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

    Visualizzazione della pipeline di distribuzione, in attesa di approvazione

  3. Fai clic su Esamina.

    Viene visualizzato un elenco delle implementazioni in attesa di approvazione.

    Implementazioni di questa pipeline, in attesa di approvazione

  4. Fai clic su Esamina.

    Viene visualizzata la schermata Approva implementazione.

    Dettagli dell'implementazione, in attesa di approvazione

    La scheda Differenza manifest mostra eventuali modifiche al manifest visualizzato dalla versione attualmente di cui è stato eseguito il deployment (se presente) a quella che stai approvando (o rifiutando).

  5. Fai clic su Approva o Rifiuta.

    Se dai la tua approvazione, viene eseguito il deployment dell'applicazione nella destinazione. Se rifiuti, il deployment dell'applicazione non viene eseguito e non può essere approvata in un secondo momento, a meno che non venga nuovamente promossa.

gcloud

Un utente con il ruolo roles/clouddeploy.approver può approvare o rifiutare manualmente un'implementazione. 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