Cloud Build ti consente di creare trigger per la creazione da repository ospitati su Bitbucket Cloud. Puoi eseguire build in risposta a eventi come push di commit o richieste di unione associate al tuo repository Bitbucket Cloud.
Questa pagina spiega come attivare i trigger di build per un'istanza di Bitbucket Cloud. Per maggiori informazioni, consulta Trigger Cloud Build e Repository Cloud Build.
Prima di iniziare
Segui le istruzioni per connetterti a un host Bitbucket Cloud.Abilita le API Cloud Build e Secret Manager, se non sono già abilitate.
Ruoli richiesti per abilitare le API
Per abilitare le API, devi disporre dell'autorizzazione
serviceusage.services.enable. Se hai creato il progetto, probabilmente disponi già di questa autorizzazione tramite il ruolo Proprietario (roles/owner). In caso contrario, puoi ottenere questa autorizzazione tramite il ruolo Amministratore utilizzo dei servizi (roles/serviceusage.serviceUsageAdmin). Scopri come concedere i ruoli.
Per creare un trigger per un repository Bitbucket Cloud, devi avere una connessione tra Google Cloud e il tuo repository. Per creare una connessione tramite l'app Bitbucket Cloud in Google Cloud, vedi Connettersi a un repository Bitbucket Cloud.
Crea un trigger Bitbucket Cloud
Questa sezione spiega come creare un trigger e collegarlo all'installazione di Bitbucket Cloud.
Console Google Cloud
Per creare trigger Bitbucket Cloud utilizzando la console Google Cloud :
Apri la pagina Trigger nella console Google Cloud .
Seleziona il tuo progetto Google Cloud e fai clic su Apri.
Fai clic su Crea trigger.
Inserisci le seguenti impostazioni del trigger:
Nome: inserisci un nome per l'attivatore.
Regione: seleziona la regione per il trigger.
- Se il file di configurazione della build associato al trigger specifica un pool privato, Cloud Build utilizza il pool privato per eseguire la build. In questo caso, la regione specificata nel trigger deve corrispondere alla regione in cui hai creato il pool privato.
- Se il file di configurazione della build associato al trigger non specifica un pool privato, Cloud Build utilizza il pool predefinito per eseguire la build nella stessa regione del trigger.
Descrizione (facoltativo): inserisci una descrizione del trigger.
Evento: seleziona l'evento del repository per richiamare il trigger.
Push a un ramo: imposta il trigger per avviare una build quando vengono eseguiti commit a un ramo specifico.
Push nuovo tag: imposta l'attivatore per avviare una build sui commit che contengono un tag specifico.
Richiesta di pull: imposta il trigger per avviare una build in base ai commit di una richiesta di pull.
Origine: configura le informazioni sul tuo repository Bitbucket Cloud:
Servizio di repository: seleziona i repository Cloud Build.
Generazione del repository: seleziona 2ª generazione come origine.
Repository: seleziona il repository dall'elenco dei repository disponibili.
Branch 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 Sintassi RE2.
Controllo dei commenti: se hai selezionato Richiesta di pull come Evento, scegli una delle seguenti opzioni per controllare se una build viene eseguita automaticamente dal trigger:
Obbligatorio tranne che per proprietari e collaboratori: quando una richiesta pull viene creata o aggiornata da un proprietario o collaboratore del repository, le build vengono eseguite automaticamente dal trigger. Se un collaboratore esterno avvia l'azione, le build vengono eseguite solo dopo che un proprietario o un collaboratore ha commentato
/gcbrunla richiesta di pull.Obbligatorio: quando una richiesta di pull viene creata o aggiornata da un collaboratore, le build vengono eseguite solo dopo che un proprietario o collaboratore ha commentato
/gcbrunla richiesta di pull. Le build vengono eseguite ogni volta che viene apportata una modifica a una richiesta di pull.Non richiesto: quando una richiesta di pull viene creata o aggiornata da qualsiasi collaboratore, le build vengono eseguite automaticamente dai trigger.
Configurazione: seleziona il file di configurazione della build che si trova nel repository o configura la build inline sul trigger.
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 configurazione.
- Dockerfile: utilizza un
Dockerfileper 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
Dockerfilee un nome per l'immagine risultante. Se la tua configurazione è unDockerfile, puoi facoltativamente fornire un timeout per la build. Dopo aver fornitoDockerfilee il nome dell'immagine, vedrai un'anteprima del comandodocker buildper la tua build.Inline: se hai selezionato File di configurazione di Cloud Build (yaml o json) come opzione di configurazione, puoi specificare la configurazione di compilazione inline. Fai clic su Apri editor per scrivere il file di configurazione della build nella consoleGoogle Cloud utilizzando la sintassi YAML o JSON. Fai clic su Fine per salvare la configurazione della build.
Fai clic su Crea per creare il trigger Bitbucket Cloud.
gcloud CLI
Per creare trigger Bitbucket Cloud utilizzando i comandi gcloud, esegui questo comando:
gcloud builds triggers create bitbucket-cloud \
--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 \
--service-account=SERVICE-ACCOUNT
Dove:
- TRIGGER_NAME è il nome del trigger.
- PROJECT_ID è l'ID progetto Google Cloud .
- REGION è la regione del trigger.
- CONNECTION_NAME è il nome della connessione Bitbucket Cloud.
- REPO_NAME è il nome del repository.
- BRANCH_PATTERN è il nome del ramo nel tuo repository su cui richiamare la build.
- TAG_PATTERN è il nome del tag nel tuo repository per richiamare la build.
- BUILD_CONFIG_FILE è il percorso del file di configurazione della build.
- SERVICE-ACCOUNT è il account di servizio da utilizzare per le operazioni di trigger e build.
API
Per creare un trigger Bitbucket Cloud con l'API, utilizza il seguente modello JSON:
{
"filename": "cloudbuild.yaml",
"name": "curl-trigger",
"description": "curl trigger",
"repository_event_config": {
"repository": "REPO_NAME",
"repository_type": "BITBUCKET_CLOUD",
// Field filter must be only one of the following:
"pullRequest": "PULL_REQUEST_FILTER",
"push": "PUSH_FILTER"
}
}
Dove:
- "REPO_NAME" è il nome del tuo repository.
- "PULL_REQUEST_FILTER" è un'istanza di
PullRequestFilter, che definisce il filtro che consente a Cloud Build di attivare una build quando viene effettuata una richiesta di pull corrispondente in Bitbucket Cloud. - "PUSH_FILTER" è un'istanza di
PushFilter, che definisce il filtro che consente a Cloud Build di attivare una build quando viene eseguito un push corrispondente in Bitbucket Cloud.
Inserisci questo comando curl nel terminale:
curl -X POST -H "Authorization: Bearer "$(gcloud auth print-access-token) -H "Content-Type: application/json; charset=utf-8" -H "x-goog-user-project: PROJECT_NUMBER" https://cloudbuild.googleapis.com/v1/projects/PROJECT_ID/triggers -d @trigger.json
Dove:
- PROJECT_NUMBER è il numero del tuo progetto Google Cloud .
- PROJECT_ID è l'ID progetto Google Cloud .
Condivisione dei dati
I dati inviati a Bitbucket Cloud da Cloud Build ti aiutano a identificare i trigger per nome e a visualizzare i risultati delle build nei tuoi repository Bitbucket Cloud.
I seguenti dati vengono condivisi tra Cloud Build e il tuo host Bitbucket Cloud:
- ID progettoGoogle Cloud
- Nome trigger
Passaggi successivi
- Scopri come creare e gestire i trigger.
- Scopri come avviare manualmente le build.
- Scopri come visualizzare i risultati della build.
- Scopri come eseguire deployment blu/verde su Compute Engine.