Impostare le build in base all'approvazione

Cloud Build ti consente di configurare trigger che non eseguono immediatamente una build, ma la contrassegnano come in attesa di approvazione. Se un utente con autorizzazioni approva una build in attesa, la build verrร  avviata. Se l'approvazione viene negata, la build non verrร  avviata.

Questa pagina spiega come approvare o rifiutare manualmente le build. Per scoprire come configurare un trigger che richiede l'approvazione, consulta Creazione di un trigger di build.

Prima di iniziare

  • Enable the Cloud Build API.

    Enable the API

  • Installa Google Cloud CLI.

  • Se non l'hai ancora fatto, crea un attivatore di build configurato per richiedere l'approvazione.

Concessione di autorizzazioni

Se un utente ha il ruolo Editor Cloud Build, dispone delle autorizzazioni per aggiornare un trigger in modo che richieda o non richieda l'approvazione. Per saperne di piรน sulle autorizzazioni di Cloud Build, consulta IAM e autorizzazioni. Per concedere a un utente l'autorizzazione ad approvare le build all'interno del tuo progetto, l'utente deve disporre del ruolo Approvare build Cloud.

Per aggiungere il ruolo Cloud Build Approver:

  1. Apri la pagina IAM nella console Google Cloud .

    Apri la pagina IAM

  2. Fai clic su Concedi accesso.

    Viene visualizzato il riquadro Concedi l'accesso.

  3. Nella sezione Aggiungi entitร , aggiungi utenti per concedere loro l'autorizzazione a approvare le build in attesa all'interno del tuo progetto.

    Devi aggiungere una o piรน entitร  in questa sezione. Se ti aggiungi come principale, tieni presente che dovrai comunque approvare manualmente una build in attesa se il trigger รจ controllato da un'approvazione.

  4. Nella sezione Assegna ruoli, seleziona Cloud Build > Cloud Build Approver.

Gli utenti che hai specificato ora possono approvare o rifiutare le build in attesa.

Approvazione delle build

Console

Per approvare una build in attesa nella console Google Cloud :

  1. Apri la pagina Dashboard di Cloud Build nella console Google Cloud .

    Apri la pagina della dashboard di Cloud Build

  2. Se hai build da approvare, nella parte superiore della pagina visualizzerai un messaggio con il numero di build in attesa di approvazione. A destra del messaggio, fai clic su Visualizza build per visualizzare l'elenco delle build in attesa della tua approvazione.

  3. Fai clic sulle caselle di controllo delle build che vuoi approvare. Puoi selezionare piรน build da approvare o una singola build da approvare.

  4. Nella parte superiore della pagina, fai clic su Approva per approvare le build selezionate.

  5. Prima dell'inizio della build, viene visualizzata la finestra di dialogo Approva build. Nella finestra di dialogo puoi aggiungere un messaggio facoltativo e un URL da visualizzare insieme all'approvazione della build. Per includere un URL, fai clic su Mostra altre opzioni per inserire un URL.

  6. Nella finestra di dialogo, fai clic su Approva per approvare la build.

Una volta approvata, la build inizierร  immediatamente. Se il criterio dell'organizzazione (constraints/cloudbuild.allowedIntegrations) nega l'accesso al repository connesso, il criterio sostituirร  l'approvazione. Per saperne di piรน, consulta Gate si basa sulla policy dell'organizzazione.

gcloud

Per approvare una build in attesa utilizzando gcloud commands, esegui il seguente comando nella finestra del terminale:

gcloud builds approve BUILD_ID \
  --project=PROJECT_ID \
  --url=URL \
  --comment=COMMENT

Sostituisci i valori segnaposto nei comandi precedenti con quanto segue:

  • BUILD_ID รจ l'ID della build che vuoi approvare.
  • PROJECT_ID รจ l'ID progetto.
  • [Facoltativo] URL รจ l'URL contenente informazioni sull'approvazione, ad esempio un link a un ticket JIRA.
  • [Facoltativo] COMMENT รจ il messaggio che vuoi visualizzare dopo l'approvazione della build.

Una volta approvata, la build inizierร  immediatamente. Se รจ impostato il criterio dell'organizzazione per definire le build per le integrazioni consentite (constraints/cloudbuild.allowedIntegrations), il criterio sostituirร  l'approvazione. Per saperne di piรน, consulta Applicare la policy dell'organizzazione per creare trigger.

Rifiuto delle build

Console

Per rifiutare una build in attesa nella console Google Cloud :

  1. Apri la pagina Dashboard di Cloud Build nella console Google Cloud .

    Apri la pagina della dashboard di Cloud Build

  2. Se hai build da approvare, nella parte superiore della pagina visualizzerai un messaggio con il numero di build in attesa di approvazione. A destra del messaggio, fai clic su Visualizza build per visualizzare l'elenco delle build in attesa della tua approvazione.

  3. Puoi selezionare piรน build da rifiutare o una singola build da rifiutare. Fai clic sulle caselle di controllo delle build che vuoi rifiutare.

  4. Fai clic su Rifiuta nella parte superiore della pagina per rifiutare la build.

Se rifiuti una build, questa non verrร  avviata.

gcloud

Per rifiutare una build in attesa utilizzando gcloud commands, esegui il seguente comando nella finestra del terminale:

gcloud builds reject BUILD_ID \
  --project=PROJECT_ID \
  --url=URL \
  --comment=COMMENT

Sostituisci i valori segnaposto nei comandi precedenti con quanto segue:

  • BUILD_ID รจ l'ID della build che vuoi rifiutare.
  • PROJECT_ID รจ l'ID progetto.
  • [Facoltativo] URL รจ l'URL contenente informazioni sul rifiuto, ad esempio un link a un ticket JIRA.
  • [Facoltativo] COMMENT รจ il messaggio che vuoi visualizzare in caso di rifiuto della build.

Se rifiuti una build, questa non verrร  mai avviata.

Ricevere notifiche per le build in attesa di approvazione

Puoi utilizzare i notificatori di Cloud Build per ricevere notifiche sulle build in attesa utilizzando un notificatore gestito da Cloud Build, ad esempio il server Slack o SMTP, oppure creando un notificatore personalizzato.

Per configurare le notifiche:

  1. Segui le istruzioni riportate in una delle pagine seguenti per configurare le notifiche per il servizio che preferisci:

  2. Quando configuri le notifiche utilizzando una delle pagine precedenti, devi configurare il sistema di notifica in modo che filtri le build con stato PENDING. In questo modo riceverai notifiche sulle build in attesa di approvazione. Nel seguente file di configurazione del notifier SMTP di esempio, il campo del filtro utilizza Common Expression Language (CEL) per filtrare gli eventi di build con stato PENDING:

    apiVersion: cloud-build-notifiers/v1
    kind: SMTPNotifier
    metadata:
      name: example-smtp-notifier
    spec:
      notification:
        filter: build.status == Build.Status.PENDING
        delivery:
          server: example.gmail.com
          port: 0000
          sender: sender@example.com
          ...
    

    Per visualizzare l'esempio completo, consulta il file di configurazione del sistema di notifica per il sistema di notifica SMTP.

  3. Per eseguire il deployment del notifier, esegui il comando gcloud run nel terminale. L'esempio seguente esegue il deployment del notifier SMTP utilizzando Cloud Run.

    gcloud run deploy example.gmail.com \
      --image=us-east1-docker.pkg.dev/gcb-release/cloud-build-notifiers/smtp:latest \
      --update-env-vars=CONFIG_PATH=smtp.yaml, PROJECT_ID=my-project
    

Ora dovresti ricevere notifiche per le build in attesa per il tuo servizio.

Passaggi successivi