Trigger di Cloud Build

Cloud Build utilizza i trigger di build per abilitare l'automazione CI/CD. Puoi configurare i trigger in modo che rilevino gli eventi in arrivo, ad esempio quando viene eseguito il push di un nuovo commit in un repository o quando viene avviata una richiesta di pull, e poi eseguire automaticamente una build quando arrivano nuovi eventi. Puoi anche configurare trigger per creare build dal codice per ogni modifica al repository di codice sorgente o solo in caso di modifiche che soddisfano determinati criteri.

Questa pagina fornisce una panoramica di ogni tipo di trigger e delle funzionalità associate ai trigger.

Trigger evento del repository

Cloud Build ti consente di eseguire automaticamente le build in base agli eventi del repository, ad esempio push o richieste pull. Puoi connettere repository esterni, come repository in GitHub o Bitbucket, a Cloud Build o utilizzare il codice in Cloud Source Repositories per le tue build. Sebbene tu possa connettere qualsiasi repository di origine a Cloud Build, Cloud Build fornisce trigger di eventi del repository specifici che puoi utilizzare per integrare sistemi di gestione del codice sorgente (SCM) specifici. Questa sezione descrive i trigger di eventi del repository disponibili.

Trigger GitHub

Puoi creare trigger GitHub per eseguire automaticamente le build in risposta a eventi del repository, come push o richieste pull. Puoi visualizzare lo stato di build del trigger su GitHub e nella console Google Cloud . Puoi anche utilizzare l'app GitHub di Cloud Build per connettere e creare codice in GitHub. Per saperne di più, vedi Creazione di repository da GitHub.

Trigger di GitHub Enterprise

Puoi creare trigger per i repository ospitati su un'istanza GitHub Enterprise, incluse le istanze ospitate in un ambiente on-premise e non raggiungibili tramite una connessione a internet pubblica. I trigger GitHub Enterprise possono essere utilizzati per eseguire build in risposta a push o richieste di pull da un'istanza GitHub Enterprise. Per saperne di più, consulta Creazione di repository da GitHub Enterprise.

Trigger GitLab Enterprise Edition

Puoi creare trigger per i repository ospitati su un'istanza GitLab Enterprise Edition, incluse le istanze ospitate in una rete privata. I trigger GitLab Enterprise Edition possono essere utilizzati per eseguire build in risposta a push di commit o richieste di pull associate al tuo repository GitLab Enterprise Edition. Per scoprire di più, consulta Creazione di repository da GitLab Enterprise Edition.

Trigger Bitbucket Server

Puoi creare trigger per i repository ospitati su un'istanza Bitbucket Server, incluse le istanze ospitate in un ambiente on-premise. Puoi connettere il tuo repository Bitbucket Server a Cloud Build più volte con più connessioni host. Per scoprire di più su come creare trigger per eseguire build in risposta agli eventi, consulta Creazione di repository da Bitbucket Server.

Trigger Bitbucket Data Center

Puoi creare trigger per i repository ospitati su un'istanza Bitbucket Data Center, incluse le istanze ospitate in un ambiente on-premise. Gli attivatori di Bitbucket Data Center possono essere utilizzati per eseguire build in risposta a eventi come push di commit o richieste di pull. Per scoprire di più, consulta la sezione Creazione di repository da Bitbucket Data Center.

Trigger di Bitbucket Cloud

Puoi creare trigger per i repository ospitati in Bitbucket Cloud. Gli attivatori Bitbucket Cloud possono essere utilizzati per eseguire build in risposta a eventi come push di commit o richieste di pull. Per saperne di più, vedi Creazione di repository da Bitbucket Cloud.

Trigger di Secure Source Manager

Puoi creare trigger per i repository ospitati in Secure Source Manager. I trigger di Secure Source Manager possono essere utilizzati per eseguire build in risposta a eventi come push di commit o richieste di pull. Per saperne di più, vedi Crea un file di trigger in Secure Source Manager.

Trigger manuali

Puoi creare trigger manuali per eseguire le build manualmente e sostituire i valori delle variabili di sostituzione definiti al momento della chiamata prima di eseguire una build. Puoi anche configurare trigger manuali per l'esecuzione in base a una pianificazione. Per saperne di più, consulta Compila manualmente il codice nei repository di origine.

Trigger Pub/Sub

Puoi creare trigger Pub/Sub per eseguire build in risposta a qualsiasi messaggio pubblicato tramite Pub/Sub. Ad esempio, puoi utilizzare trigger Pub/Sub per la creazione in risposta ai push di immagini su Artifact Registry. In questo caso, puoi configurare il trigger in modo che utilizzi i filtri per eseguire una build solo se l'immagine di cui è stato eseguito il push corrisponde a un tag specifico, ad esempio prod. Inoltre, i trigger Pub/Sub possono essere configurati per abbonarsi a qualsiasi argomento Pub/Sub. Per saperne di più, consulta Automatizzare le build in risposta agli eventi Pub/Sub.

Trigger webhook

Puoi creare trigger webhook per eseguire build in risposta ai webhook. Gli eventi webhook inviati a un URL personalizzato consentono di connettere direttamente sistemi esterni e sistemi di gestione del codice sorgente (SCM) esterni, come Bitbucket.com, Bitbucket Server o GitLab, a Cloud Build. Quando crei trigger webhook, puoi anche definire la configurazione di compilazione inline nel trigger per controllare quali repository vengono clonati durante il tempo di compilazione anziché specificare esplicitamente un'origine. Per saperne di più, consulta Automatizzare le build in risposta agli eventi webhook. Inoltre, per imparare a utilizzare i trigger webhook per creare repository da SCM specifici, consulta Creazione di repository da Bitbucket Server, Creazione di repository da Bitbucket Cloud e Creazione di repository da GitLab.

Trigger per i repository collegati a Developer Connect

Developer Connect ti consente di collegare prodotti esterni o strumenti per sviluppatori non Google a Google Cloud utilizzando app e passaggi standardizzati. Puoi configurare trigger che eseguono la build dai repository connessi tramite Developer Connect per i seguenti SCM:

Funzionalità di trigger

I trigger di Cloud Build forniscono funzionalità che ti offrono un controllo granulare sulle modalità di esecuzione di una build. Questa sezione illustra varie funzionalità associate ai trigger.

Trigger manuali pianificati

Puoi programmare trigger manuali per eseguire automaticamente le build in base a una pianificazione predefinita. Ad esempio, potresti voler configurare un trigger pianificato per eseguire una build ogni sabato alle 6:00. Per pianificare le build, puoi creare un trigger manuale e richiamarlo utilizzando Cloud Scheduler. Per saperne di più, vedi Pianificare le build.

Filtrare gli eventi

Cloud Build utilizza il Common Expression Language (CEL) con la variabile build nei campi elencati nella risorsa Build per accedere ai campi associati all'evento di build, come l'ID trigger, l'elenco delle immagini o i valori di sostituzione. Puoi utilizzare la stringa filter per filtrare gli eventi di build nel file di configurazione della build utilizzando qualsiasi campo elencato nella risorsa Build. Per saperne di più, consulta Utilizzare CEL per filtrare gli eventi di build.

Variabili di sostituzione

Puoi specificare le variabili di sostituzione nel file di configurazione della build per sostituire valori specifici al momento della build. Ad esempio, potresti voler utilizzare variabili di sostituzione se un valore non è noto fino al tempo di compilazione o se vuoi riutilizzare una richiesta di build esistente con variabili diverse. Cloud Build fornisce sostituzioni predefinite che puoi utilizzare per le build richiamate dai trigger, ad esempio variabili che mappano il nome del trigger o il nome del repository. Puoi anche definire le tue variabili di sostituzione. Per scoprire di più, consulta la sezione Sostituzione dei valori delle variabili.

Espansioni di parametri bash

Puoi applicare le espansioni dei parametri bash ai valori delle variabili di sostituzione. Le espansioni dei parametri Bash ti consentono di manipolare le stringhe associate alle variabili esistenti. Ad esempio, puoi utilizzare le espansioni di parametri bash per mettere le lettere in maiuscolo o sostituire una sottostringa. Per scoprire di più, consulta Espansioni dei parametri Bash.

Associazioni di payload

Puoi memorizzare parte del payload dell'evento del trigger come variabile di sostituzione utilizzando i binding del payload. Le variabili associate a un payload sono denominate binding e sono disponibili per le build richiamate da eventi push e pull. Puoi utilizzare i binding per accedere a dati aggiuntivi relativi alla tua build, ad esempio l'autore di una richiesta di pull. Per saperne di più, consulta Associazioni di payload.

Approvazioni

Puoi configurare i trigger in modo che non eseguano immediatamente una build, ma contrassegnino una build come in attesa di approvazione. Se un utente con autorizzazioni approva una build in attesa, la build viene avviata. Se l'approvazione viene negata, la build non viene avviata. Per scoprire come configurare i trigger che richiedono l'approvazione, consulta Build con gate di approvazione.

Creare notifiche di stato

Puoi configurare i notificatori Cloud Build in modo che ascoltino gli aggiornamenti degli eventi di build da Pub/Sub nell'argomento cloud-builds predefinito o in un argomento definito dall'utente. I notificatori possono anche filtrare i messaggi ricevuti dall'argomento e inviarli ai servizi connessi. Cloud Build fornisce e gestisce immagini di notifica implementabili nel repository cloud-build-notifiers. Puoi configurare le notifiche utilizzando un notifier Cloud Build, ad esempio BigQuery, HTTP, Slack o SMTP oppure creare un notifier personalizzato.

Passaggi successivi