Cloud Build ti consente di configurare trigger che non eseguono immediatamente una build, ma la contrassegnano come in attesa fino all'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.
In questa pagina viene spiegato come approvare o rifiutare manualmente le build. Per scoprire come configurare un attivatore che richiede l'approvazione, consulta Creare un attivatore di build.
Prima di iniziare
-
Enable the Cloud Build API.
Installa Google Cloud CLI.
Se non l'hai ancora fatto, crea un attivatore di compilazione configurato per richiedere l'approvazione.
Concessione di autorizzazioni
Se un utente dispone del ruolo Editor di Cloud Build, ha le autorizzazioni per aggiornare un trigger in modo che richieda o meno l'approvazione. Per saperne di più sulle autorizzazioni di Cloud Build, vedi IAM autorizzazioni. Per concedere a un utente l'autorizzazione per approvare le build all'interno del progetto, l'utente deve disporre del ruolo Approvatore Cloud Build.
Per aggiungere il ruolo Approvatore Cloud Build:
Apri la pagina IAM nella console Google Cloud.
Fai clic su Concedi accesso.
Visualizzerai il riquadro Concedi l'accesso,
Nella sezione Aggiungi entità, aggiungi gli utenti per concedere loro l'autorizzazione a concedi l'approvazione per le build in attesa all'interno del tuo progetto.
Devi aggiungere uno o più principali in questa sezione. Se ti aggiungi come a un'entità, tieni presente che dovrai comunque approvare manualmente se il trigger è controllato da un'approvazione.
Nella sezione Assegna ruoli, seleziona Cloud Build > Approvatore Cloud Build.
Gli utenti che hai specificato ora hanno accesso per approvare o rifiutare le build in attesa.
Approvazione delle build
Console
Per approvare una build in attesa nella console Google Cloud:
Apri la pagina Dashboard di Cloud Build nella console Google Cloud.
Se sono presenti build da approvare, nella parte superiore della pagina viene visualizzato un messaggio con il numero di build in attesa della tua approvazione. A destra del messaggio, Fai clic su Visualizza build per visualizzare l'elenco delle build in attesa della tua approvazione.
Fai clic sulle caselle di controllo delle build che vuoi approvare. Puoi selezionare più build da approvare o una singola build da approvare approvare.
Nella parte superiore della pagina, fai clic su Approva per approvare le build selezionate.
Prima dell'avvio della compilazione, viene visualizzata la finestra di dialogo Approva compilazione. 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.
Nella finestra di dialogo, fai clic su Approva per approvare la compilazione.
Dopo l'approvazione, la build inizierà immediatamente. Se il criterio
dell'organizzazione
(constraints/cloudbuild.allowedIntegrations
) nega l'accesso al
repository collegato, il criterio sostituirà l'approvazione. Per scoprire di più, consulta Le build di Gate si basano sui criteri 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 i seguenti:
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 una richiesta JIRA. - [Facoltativo]
COMMENT
è il messaggio che vuoi visualizzare al momento dell'approvazione della build.
Dopo l'approvazione, la build inizierà immediatamente. Se l'organizzazione
criterio per definire le build per le integrazioni consentite
(constraints/cloudbuild.allowedIntegrations
) è configurato, il criterio verrà
hanno la precedenza sull'approvazione. Per scoprire di più, consulta Applicare i criteri dell'organizzazione per creare gli attivatori.
Rifiuto delle build in corso...
Console
Per rifiutare una build in attesa nella console Google Cloud:
Apri la pagina Dashboard di Cloud Build nella console Google Cloud.
Se sono presenti build da approvare, nella parte superiore della pagina viene visualizzato un messaggio con il numero di build in attesa della tua approvazione. A destra del messaggio, fai clic su Visualizza build per visualizzare l'elenco delle build in attesa della tua approvazione.
Puoi selezionare più build da rifiutare o una singola build da rifiutare. Fai clic sulle caselle di controllo delle build che vuoi rifiutare.
Fai clic su Rifiuta nella parte superiore della pagina per rifiutare la compilazione.
Se rifiuti una build, questa non verrà avviata.
gcloud
Per rifiutare una build in attesa utilizzando gcloud commands
, esegui questo 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 al 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, come Slack o il server SMTP, oppure creando il tuo notificatore.
Per configurare le notifiche:
Segui le istruzioni su una delle pagine seguenti per configurare le notifiche per il servizio desiderato:
Quando configuri le notifiche utilizzando una delle pagine precedenti, devi configura il notificatore in modo da filtrare le build con lo stato IN ATTESA. Riceverai notifiche sulle build in attesa di approvazione. Nel seguente file di configurazione del server di notifica SMTP, il campo del filtro utilizza il Common Expression Language (CEL) per filtrare gli eventi di build con stato IN ATTESA:
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 notifier per il notifier SMTP.
Per eseguire il deployment del notifier, esegui il comando
gcloud run
nel terminale. L'esempio seguente esegue il deployment del notificatore 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 del tuo servizio.
Passaggi successivi
- Scopri come creare e gestire i trigger di build.
- Scopri come visualizzare i risultati della build per gli attivatori di build