Cloud Build ti consente di creare trigger in un'istanza GitHub Enterprise. Questa pagina spiega come utilizzare gli attivatori GitHub Enterprise per richiamare le build in risposta a commit o richieste di pull da un repository GitHub Enterprise.
Scopri di più sugli trigger di Cloud Build e sui repository Cloud Build.
Prima di iniziare
-
Enable the Cloud Build and Secret Manager APIs.
- Segui le istruzioni per collegare un host GitHub Enterprise.
- Segui le istruzioni per collegare un repository GitHub Enterprise.
Creazione di un trigger GitHub Enterprise
Questa sezione spiega come creare un trigger e collegarlo all'installazione di GitHub Enterprise. Se vuoi utilizzare gli attivatori di GitHub Enterprise in una rete privata, consulta Creare repository da GitHub Enterprise in una rete privata per ulteriori istruzioni.
Console
Per creare trigger di GitHub Enterprise utilizzando la console Google Cloud:
Apri la pagina Trigger nella console Google Cloud.
Seleziona il progetto dal menu a discesa del selettore progetti nella parte superiore della pagina.
Fai clic su Apri.
Fai clic su Crea trigger.
Inserisci le seguenti impostazioni di trigger:
Nome: inserisci un nome per l'attivatore.
Regione: seleziona la regione per l'attivatore.
- Se il file di configurazione della build associato all'attivatore specifica un pool privato, Cloud Build utilizza il pool privato per eseguire la build. In questo caso, la regione specificata nell'attivatore deve corrispondere a quella in cui hai creato il pool privato.
- Se il file di configurazione della build associato all'attivatore non specifica un pool privato, Cloud Build utilizza il pool predefinito per eseguire la build nella stessa regione dell'attivatore.
(Facoltativo) Descrizione: inserisci una descrizione per l'attivatore.
Evento: seleziona l'evento del repository per richiamare l'attivatore.
Push a un ramo: imposta l'attivatore per avviare una build quando vengono eseguiti commit a un determinato ramo.
Invia nuovo tag: imposta l'attivatore in modo da avviare una build sui commit che contengono un determinato tag.
Richiesta di pull: imposta l'attivatore per avviare una compilazione su commit di una richiesta di pull.
Origine: seleziona 2ª generazione come origine.
Repository: dall'elenco dei repository disponibili, seleziona quello che ti interessa. Per connettere un nuovo repository, consulta Connettersi a un repository GitHub Enterprise.
Ramo o Tag: specifica un'espressione regolare con il valore del ramo o del tag da soddisfare. Per informazioni sulla sintassi accettabile delle espressioni regolari, consulta la pagina sulla sintassi RE2.
Controllo dei commenti: se hai selezionato Richiesta di pull (solo app GitHub) come Evento, scegli una delle seguenti opzioni per controllare se una build verrà eseguita automaticamente dall'attivatore:
Obbligatorio tranne che per proprietari e collaboratori: quando una richiesta di pull viene creata o aggiornata da un proprietario o un collaboratore del repository, le build verranno eseguite automaticamente dall'attivatore. Se un collaboratore esterno avvia l'azione, le build verranno eseguite solo dopo che un proprietario o un collaboratore avrà commentato
/gcbrun
la richiesta pull.Obbligatorio: quando una richiesta di pull viene creata o aggiornata da un proprietario o collaboratore del repository con
/gcbrun
nella descrizione o nel commento della richiesta di pull, le build verranno eseguite automaticamente dall'attivatore. Quando una richiesta di pull viene creata o aggiornata da qualsiasi collaboratore, le build verranno eseguite solo dopo che un proprietario o un collaboratore avrà commentato/gcbrun
la richiesta di pull.Non obbligatorio: quando una richiesta di pull viene creata o aggiornata da qualsiasi collaboratore, le build verranno eseguite automaticamente dagli attivatori.
File inclusi (facoltativo): le modifiche che interessano almeno uno di questi file attiveranno una build.
File ignorati (facoltativo): le modifiche che interessano solo i file ignorati non attiveranno una build.
Configurazione: seleziona il file di configurazione della build nel tuo repository remoto o crea un file di configurazione della build in linea da utilizzare per la build.
- Tipo: seleziona il tipo di configurazione da utilizzare per la build.
- Rilevato automaticamente: Cloud Build rileva automaticamente il tipo di configurazione se nel repository è presente un file
cloudbuild.yaml
oDockerfile
. - File di configurazione di Cloud Build (yaml o json): Utilizza un file di configurazione della build per la tua configurazione.
- Dockerfile: utilizza un
Dockerfile
per la configurazione. - Buildpack: utilizza i buildpack per la configurazione.
- Rilevato automaticamente: Cloud Build rileva automaticamente il tipo di configurazione se nel repository è presente un file
Posizione: specifica la posizione della configurazione.
- Repository: se il file di configurazione si trova nel
repository remoto, fornisci la posizione del
file di configurazione della build o della directory
Dockerfile
e un nome per l'immagine risultante. Se la configurazione èDockerfile
, puoi facoltativamente specificare un timeout per la build. Dopo aver fornitoDockerfile
e il nome dell'immagine, vedrai un'anteprima del comandodocker build
che verrà eseguito dalla compilazione. - In linea: se hai selezionato File di configurazione di Cloud Build (yaml o json) come opzione di configurazione, puoi specificare la configurazione della build in linea. Fai clic su Apri editor per scrivere il file della configurazione di compilazione nella console Google Cloud utilizzando la sintassi YAML o JSON. Fai clic su Fine per salvare la configurazione della build.
- Repository: se il file di configurazione si trova nel
repository remoto, fornisci la posizione del
file di configurazione della build o della directory
- Tipo: seleziona il tipo di configurazione da utilizzare per la build.
(Facoltativo) Voci di sostituzione: se hai selezionato il file di configurazione Cloud Build come opzione di configurazione della build, puoi scegliere di definire variabili di sostituzione specifiche per l'attivatore utilizzando questo campo. Ad esempio, supponiamo che tu stia creando diversi trigger in cui ogni trigger esegue il deployment dell'app in un ambiente specifico. Puoi specificare che l'app viene dispiata in un ambiente nel file di configurazione della compilazione e poi utilizzare questo campo per definire le variabili di sostituzione che specificano in quale ambiente deve essere eseguito il deployment di questo attivatore. Per informazioni su come specificare i valori di sostituzione nei file di configurazione di compilazione, consulta Sostituzioni dei valori delle variabili.
Log di compilazione (facoltativo): seleziona la casella per inviare i log di compilazione a GitHub. Per scoprire come visualizzare i log di build, consulta Visualizzazione dei log di build.
Account di servizio: seleziona l'account di servizio da utilizzare per richiamare l'attivatore. Se non selezioni un account di servizio, viene utilizzato il service account Cloud Build predefinito.
Fai clic su Crea per salvare il trigger di build.
Per creare trigger GitHub utilizzando i comandi gcloud
, consulta i comandi gcloud
per la creazione di un trigger di compilazione.
gcloud
Per creare trigger di GitHub Enterprise utilizzando i comandi gcloud
, esegui il seguente
comando:
gcloud builds triggers create github \
--name=TRIGGER_NAME \
--repository=projects/PROJECT_ID/locations/REGION/connections/CONNECTION_NAME/repositories/REPO_NAME \
--branch-pattern=BRANCH_PATTERN # or --tag-pattern=TAG_PATTERN \
--build-config=BUILD_CONFIG_FILE \
--region=REGION
Dove:
- TRIGGER_NAME è il nome dell'attivatore.
- PROJECT_ID è il tuo Google Cloud ID progetto.
- REGION è la regione dell'attivatore.
- CONNECTION_NAME è il nome della connessione GitHub Enterprise.
- REPO_NAME è il nome del tuo repository
- BRANCH_PATTERN è il nome del ramo nel repository su cui invocare la compilazione.
- TAG_PATTERN è il nome del tag nel repo per invocare la compilazione.
- BUILD_CONFIG_FILE è il percorso del file di configurazione della build.
Condivisione dei dati
I dati inviati a GitHub Enterprise da Cloud Build ti aiutano a identificare gli trigger per nome e a visualizzare i risultati della build su GitHub Enterprise.
I seguenti dati sono attualmente condivisi tra Cloud Build e GitHub Enterprise:
- ID progetto Cloud
- Nome trigger
- Log di build
Se hai creato trigger prima di agosto 2020, la condivisione dei dati potrebbe non essere attivata per il tuo progetto. Puoi attivare la condivisione dei dati per tutti gli trigger GitHub Enterprise nel tuo progetto facendo clic su Attiva nella scheda Condivisione dei dati di Cloud Build.
Se hai attivato i controlli di stato obbligatori per un repository GitHub Enterprise, l'attivazione della condivisione dei dati potrebbe interrompere temporaneamente i controlli di stato. Puoi modificare le configurazioni di controllo dello stato per cercare il nome dell'attivatore:
- Disattivazione di eventuali controlli obbligatori specifici di Cloud Build nel repository GitHub Enterprise
- Garantire che la condivisione dei dati sia abilitata in Cloud Build
- Eseguire una nuova build in Cloud Build che pubblichi gli stati nel tuo repository
- Riattivare i controlli dello stato richiesti, selezionando il nome dell'attivatore
Passaggi successivi
- Scopri come creare e gestire gli attivatori.
- Scopri come creare repository da GitHub Enterprise in una rete privata.
- Scopri come eseguire deployment blu/verdi su Compute Engine.