Promuovi la tua release e gestisci le approvazioni

Questa pagina descrive come promuovere una release Cloud Deploy esistente nell' il target successivo in una progressione della pipeline di distribuzione.

Prima di iniziare

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

Promuovi la release

Quando la release viene implementata 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 utilizzi per gestire il deployment di questa release.

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

Consulta la documentazione di riferimento del Cloud SDK per ulteriori informazioni sul comando gcloud deploy releases promote.

Console

  1. Apri la pagina Pipeline di distribuzione.

  2. Fai clic sulla pipeline indicata nell'elenco delle pipeline di importazione.

    La pagina Dettagli 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. che mostra i dettagli target a cui stai effettuando la promozione.

  4. Fai clic su Promuovi.

Se la pipeline di distribuzione o il target sono cambiati dalla creazione della release, Cloud Deploy restituisce un messaggio che indica una possibile Mancata corrispondenza e prompt per confermare la promozione. Puoi rispondere n al prompt ed esaminare la le differenze tra le versioni della pipeline. Se scegli di promuovere comunque, il deployment della release viene eseguito secondo la pipeline di distribuzione così come è stato definito quando è stata creata la release. Per ulteriori informazioni sulle mancate corrispondenze della pipeline, consulta Istanze pipeline per release.

Cloud Deploy crea un rollout per la release nella e la release è 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 target e approvare o rifiutare le release in quel target.

Le approvazioni possono essere gestite in modo programmatico integrando il flusso di lavoro di gestione dei contenuti (come ServiceNow) o un altro sistema, con Cloud Deploy utilizzando Pub/Sub e Cloud Deploy tramite Google Cloud CLI o tramite l'API Compute Engine.

Richiedere l'approvazione

Per richiedere l'approvazione per 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 la sezione Configurazione della pipeline di distribuzione.

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

Quando utilizzi il deployment parallelo, puoi configurare target multipli per richiedere l'approvazione. Se la promozione al target viene rifiutata, l'implementazione del controller non va a buon fine, con stato APPROVAL_REJECTED, e le implementazioni secondarie non vengono create.

Approvare o rifiutare un'implementazione

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

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

Il sistema di gestione dei flussi di lavoro integrato, dopo aver ricevuto una notifica che richiede l'approvazione tramite le notifiche del 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 viene visualizzato nella console Google Cloud. Le pipeline di importazione configurate, ma non registrate con il servizio Cloud Deploy, non vengono mostrate.

  2. Fai clic sul nome della pipeline di distribuzione.

    Viene mostrata la visualizzazione della pipeline. Se in attesa di approvazione e hanno il ruolo roles/clouddeploy.approver o autorizzazioni equivalenti, la visualizzazione include un link Rivedi.

    Pipeline di distribuzione
di pubblicazione, con approvazione in attesa

  3. Fai clic su Esamina.

    Viene mostrato un elenco delle implementazioni in attesa di approvazione.

    Implementazioni per questa
pipeline, in attesa di approvazione

  4. Fai clic su Esamina.

    Viene visualizzata la schermata Approvazione implementazione.

    I dettagli del
implementazione con approvazione in attesa

    La scheda Differenza manifest mostra eventuali modifiche al manifest visualizzato dalla versione attualmente implementata (se presente) a quella che stai approvando (o rifiutando).

  5. Fai clic su Approva o Rifiuta.

    Se approvi, il deployment dell'applicazione viene eseguito nella destinazione. Se rifiutate, l'applicazione non viene implementata 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 rifiuta 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