Cloud Build ti consente di creare trigger per eseguire build dai repository ospitati su GitLab Enterprise Edition, in modo da poter eseguire build in risposta a eventi come push di commit o richieste di unione associati al tuo repository GitLab Enterprise Edition.
Questa pagina spiega come attivare la funzionalità di attivazione su un'istanza di GitLab Enterprise Edition. 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 GitLab Enterprise Edition.
- Segui le istruzioni per connettere un repository GitLab Enterprise Edition.
Creare un attivatore GitLab Enterprise Edition
Console
Per creare un attivatore GitLab Enterprise Edition utilizzando la console Google Cloud:
Apri la pagina Trigger:
Seleziona il tuo progetto Google Cloud nella parte superiore della pagina e fai clic su Apri.
Fai clic su Crea trigger.
Inserisci le seguenti impostazioni di trigger:
Nome: 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: una descrizione dell'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.
Pull request: imposta l'attivatore per avviare una compilazione su commit di una richiesta di unione.
Origine: seleziona 2ª gen. come origine.
Repository: dall'elenco dei repository disponibili, seleziona quello che ti interessa. Per connettere un nuovo repository, consulta Connettersi a un repository GitLab Enterprise Edition.
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 Pull request 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 unione viene creata o aggiornata da un proprietario o 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 di unione.Obbligatorio: quando una richiesta di unione 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 unione. Le compilazioni vengono eseguite ogni volta che viene apportata una modifica a una richiesta di unione.Non obbligatorio: quando una richiesta di unione viene creata o aggiornata da qualsiasi collaboratore, le build vengono eseguite automaticamente dagli attivatori.
Configurazione: seleziona il file di configurazione della build nel tuo repository o configura la build in linea nell'attivatore.
Tipo: seleziona il tipo di configurazione da utilizzare per la build.
- 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.
Posizione: specifica la posizione della configurazione.
Repository: se il file di configurazione si trova nel repository, 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.
Fai clic su Crea per creare l'attivatore GitLab Enterprise Edition.
gcloud
Per creare gli attivatori di GitLab Enterprise Edition utilizzando i comandi gcloud
, esegui il seguente
comando:
gcloud builds triggers create gitlab \
--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 ID progetto Google Cloud.
- REGION è la regione dell'attivatore.
- CONNECTION_NAME è il nome della connessione a GitLab Enterprise Edition.
- 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 GitLab Enterprise Edition da Cloud Build ti aiutano a identificare gli attivatori per nome e a visualizzare i risultati di compilazione nei tuoi repository GitLab Enterprise Edition.
Al momento, i seguenti dati vengono condivisi tra Cloud Build e l'host GitLab Enterprise Edition:
- ID progetto Cloud
- Nome trigger
Passaggi successivi
- Scopri come gestire gli attivatori di build.
- Scopri come creare repository da GitLab Enterprise Edition in una rete privata.
- Scopri come eseguire deployment blu/verdi su Compute Engine.