Cloud Build ti consente di creare trigger per eseguire build dai repository ospitati su Bitbucket Data Center, in modo da poter eseguire le build in risposta a eventi come push di commit o richieste di pull associati al tuo repository Bitbucket Data Center.
Questa pagina spiega come attivare la funzionalità di attivazione in un'istanza di Bitbucket Data Center.
Prima di iniziare
-
Enable the Cloud Build, Secret Manager, and Compute Engine APIs.
- Segui le istruzioni per collegare un host Bitbucket Data Center.
- Segui le istruzioni per collegare un repository Bitbucket Data Center.
Creare un attivatore Bitbucket Data Center
Questa sezione spiega come connettere i repository Bitbucket Data Center a Cloud Build e creare un trigger per richiamare automaticamente si basa sui repository connessi. Se vuoi utilizzare gli attivatori di Bitbucket Data Center in una rete privata, consulta Creare repository da Bitbucket Data Center in una rete privata per ulteriori istruzioni.
Console
Per creare un attivatore Bitbucket Data Center utilizzando la console Google Cloud:
Apri la pagina Attivatori:
Seleziona il tuo progetto 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 il tuo trigger.
- Se selezioni globale come regione, Cloud Build utilizza il pool predefinito per eseguire la build.
- Se selezioni una regione non globale e file di configurazione di compilazione associato al trigger specifica un pool privato, Cloud Build utilizza il pool per eseguire la build. In questo caso, la regione specificata nell'attivatore deve corrispondere a quella in cui hai creato il pool privato.
- Se selezioni una regione non globale e il file di configurazione di compilazione associato all'attivatore non specifica un pool privato, Cloud Build utilizza il pool predefinito per eseguire la compilazione nella stessa regione dell'attivatore.
(Facoltativo) Descrizione: una descrizione per l'attivatore.
Evento: seleziona l'evento del repository per richiamare il trigger.
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 per avviare una build sui commit che contengono un determinato tag.
Richiesta di pull: imposta il trigger per avviare una build quando esegue il commit di una richiesta di pull.
Origine: seleziona 1ª generazione come origine.
Repository: seleziona un repository dall'elenco di repository disponibili repository Git. Per connettere un nuovo repository, consulta Connettiti a un repository di data center Bitbucket.
Ramo o Tag: specifica un'espressione regolare con il valore del ramo o del tag da soddisfare.
Controllo dei commenti: se hai selezionato Richiesta pull Evento, scegli una delle seguenti opzioni per controlla se una build verrà eseguita automaticamente dal trigger:
Obbligatorio, tranne che per proprietari e collaboratori: quando viene eseguito un pull una richiesta viene creata o aggiornata da un proprietario o un collaboratore del repository, le build verranno eseguite automaticamente dal trigger. 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 pull.Obbligatorio: quando una richiesta di pull viene creata o aggiornata da un collaboratore, le build verranno eseguite solo dopo che un proprietario o un collaboratore avrà commentato
/gcbrun
la richiesta di pull. Build vengono eseguiti ogni volta che viene apportata una modifica a una richiesta di pull.Non obbligatorio: quando una richiesta di pull viene creata o aggiornata da un , le build verranno eseguite automaticamente dai trigger.
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 tua configurazione è unDockerfile
. Se vuoi, puoi impostare un timeout per la build. Dopo aver fornito l'attributoDockerfile
e il nome dell'immagine, visualizzerai un anteprima del comandodocker build
che verrà eseguita dalla build.In linea: se hai selezionato File di configurazione di Cloud Build (yaml o json) come l'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 il trigger del data center Bitbucket.
gcloud
Per creare un trigger di Bitbucket Data Center utilizzando i comandi gcloud
, devi eseguire il seguente comando gcloud builds triggers create bitbucketserver
nel terminale:
gcloud builds triggers create bitbucketserver
--name=TRIGGER_NAME \
--project-key=PROJECT_KEY \
--repo-slug=REPO_SLUG \
--bitbucket-server-config-resource=projects/PROJECT_NUMBER/locations/REGION/bitbucketServerConfigs/ID \
--branch-pattern=BRANCH_NAME \ # --tag-pattern=TAG_NAME
--build-config=BUILD_CONFIG
Dove:
- TRIGGER_NAME è il nome dell'attivatore.
- PROJECT_KEY è la chiave del tuo progetto Bitbucket Data Center.
- REPO_SLUG è lo slug del tuo Repository di data center Bitbucket.
- PROJECT_NUMBER è il numero di progetto progetto Google Cloud.
- REGION è la regione associata alla configurazione di Bitbucket Data Center.
- ID è l'ID di BitbucketServerConfig.
- BRANCH_NAME è un'espressione regolare che corrisponde al tuo ramo se vuoi impostare l'attivatore per la compilazione di determinati rami.
- TAG_NAME è un'espressione regolare che corrisponde al tag se vuoi impostare l'attivatore per creare determinati tag.
- BUILD_CONFIG è il percorso del file di configurazione della build.
API
Per creare un trigger del data center Bitbucket con l'API, utilizza la classe seguente modello JSON.
{
"filename": "cloudbuild.yaml",
"name": "curl-trigger",
"description": "curl trigger",
"bitbucket_server_trigger_config": {
"repo_slug": "REPO_SLUG",
"project_key": "PROJECT_KEY",
"push": {
"branch": "BRANCH_NAME" # "tag": "TAG_NAME"
},
"bitbucket_server_config_resource": "projects/PROJECT_NUMBER/locations/REGION/bitbucketServerConfigs/ID"
}
}
Dove:
- REPO_SLUG è lo slug del tuo Repository di data center Bitbucket.
- PROJECT_KEY è la chiave del tuo progetto Bitbucket Data Center.
- BRANCH_NAME è l'espressione regolare che corrisponde il ramo se vuoi impostare il trigger per creare determinati rami.
- TAG_NAME è l'espressione regolare che corrisponde al tag se vuoi impostare l'attivatore per creare determinati tag.
- PROJECT_NUMBER è il numero del progetto Google Cloud.
- REGION è la regione associati alla configurazione del data center Bitbucket.
- ID è l'ID di BitbucketServerConfig.
Inserisci il seguente comando curl
nel terminale, dove PROJECT_ID è il tuo ID progetto Google Cloud:
curl -X POST -H "Authorization: Bearer "$(gcloud auth print-access-token) -H "Content-Type: application/json; charset=utf-8" https://cloudbuild.googleapis.com/v1/projects/PROJECT_ID/triggers -d @trigger.json
Condivisione dei dati
I dati inviati a Bitbucket Data Center da Cloud Build consentono di identificare i trigger per nome e osserva i risultati della build sui repository Data Center di Bitbucket.
I seguenti dati vengono condivisi tra Cloud Build e l'host del tuo data center Bitbucket:
- ID progetto Google Cloud
- Nome trigger
La condivisione dei dati è abilitata automaticamente per Bitbucket Data Center.
Passaggi successivi
- Scopri come creare e gestire i trigger di build.
- Scopri come creare repository dal data center Bitbucket in una rete privata.
- Scopri come eseguire deployment blu/verdi su Compute Engine.