Cloud Build ti consente di creare trigger per eseguire build dai repository ospitati su Bitbucket Server. Puoi eseguire le build in risposta a eventi come push di commit o richieste di unione associati al tuo repository Bitbucket Server.
Questa pagina spiega come attivare gli attivatori di compilazione per un'istanza di Bitbucket Server. Per ulteriori informazioni, consulta Trigger di Cloud Build e Repository Cloud Build.
Prima di iniziare
-
Enable the Cloud Build and Secret Manager APIs.
Per creare un attivatore per un repository Bitbucket Server, devi avere una connessione tra Google Cloud e il tuo repository. Per creare una connessione tramite l'app Bitbucket Server in Google Cloud, consulta Connettersi a un repository Bitbucket Server.
Creare un attivatore Bitbucket Server
Questa sezione spiega come collegare i repository Bitbucket Server a Cloud Build e creare un trigger per invocare automaticamente le build nei repository collegati. Se vuoi utilizzare gli attivatori di Bitbucket Server in una rete privata, consulta Creare repository da Bitbucket Server in una rete privata per ulteriori istruzioni.
Google Cloud console
Per creare gli attivatori di Bitbucket Server utilizzando la Google Cloud console, segui questi passaggi:
Apri la pagina Trigger nella Google Cloud console.
Seleziona il tuo Google Cloud progetto e 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 per 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: configura le informazioni sul repository Bitbucket Server:
Servizio di repository: seleziona i repository Cloud Build.
Generare repository: seleziona Developer Connect come origine.
Repository: dall'elenco dei repository disponibili, seleziona il repository.
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 viene eseguita automaticamente dall'attivatore:
Obbligatorio tranne che per proprietari e collaboratori: quando una richiesta di pull viene creata o aggiornata da un proprietario o collaboratore del repository, le build vengono eseguite automaticamente dall'attivatore. Se un collaboratore esterno avvia l'azione, le build vengono eseguite solo dopo che un proprietario o un collaboratore ha commentato
/gcbrun
la 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 un collaboratore ha commentato
/gcbrun
la richiesta di pull. Le build vengono eseguite ogni volta che viene apportata una modifica a una richiesta di pull.Non obbligatorio: quando una richiesta di pull 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
per la tua 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 consoleGoogle 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 Bitbucket Cloud.
Interfaccia a riga di comando gcloud
Per creare trigger di Bitbucket Server utilizzando i comandi gcloud
, esegui il seguente
comando:
gcloud alpha builds triggers create developer connect
--name=TRIGGER_NAME \
--git-repository-link=projects/PROJECT_ID/locations/REGION/connections/CONNECTION_NAME/gitRepositoryLinks/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 dell'attivatore.
- PROJECT_ID è il tuo Google Cloud ID progetto.
- REGION è la regione dell'attivatore.
- CONNECTION_NAME è il nome della connessione a Bitbucket Server.
- GIT_REPOSITORY_LINK è il link al tuo repository Git.
- BRANCH_PATTERN è il nome del ramo nel repository su cui invocare la compilazione.
- TAG_PATTERN è il nome del tag nel repository su cui eseguire la compilazione.
- BUILD_CONFIG_FILE è il percorso del file di configurazione della build.
- SERVICE-ACCOUNT è l'account di servizio da utilizzare per le operazioni di trigger e build.
API
Per creare un attivatore Bitbucket Server con l'API, utilizza il 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"
"comment_control": "COMMENT_SETTING"
}
}
Dove:
- REPO_SLUG è lo slug del repository Bitbucket Server. Per ulteriori informazioni, consulta la guida di Bitbucket sugli slug dei repository.
- PROJECT_KEY è la chiave del tuo progetto Bitbucket Server. PROJECT_KEY è sensibile alle maiuscole.
- BRANCH_NAME è l'espressione regolare del ramo se vuoi impostare l'attivatore per creare determinati rami.
- TAG_NAME è l'espressione regolare del tag se vuoi impostare l'attivatore per creare determinati tag.
- PROJECT_NUMBER è il numero del progetto Cloud.
- REGION è la regione associata alla configurazione di Bitbucket Server.
- ID è l'ID di BitbucketServerConfig.
- COMMENT_SETTING è l'impostazione che controlla se i trigger di build richiedono
/gcbrun
in un commento per l'esecuzione della build. Per ulteriori informazioni, consulta commentControl.
Inserisci il seguente 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 Google Cloud progetto.
- PROJECT_ID è il tuo Google Cloud ID progetto.
Condivisione dei dati
I dati inviati a Bitbucket Server da Cloud Build ti aiutano a identificare gli trigger per nome e a visualizzare i risultati della compilazione su Bitbucket Server.
I seguenti dati sono condivisi tra Cloud Build e Bitbucket Server:
- Google Cloud ID progetto
- Nome trigger
La condivisione dei dati è abilitata automaticamente per Bitbucket Server.
Passaggi successivi
- Scopri come creare e gestire i trigger di build.
- Scopri come creare repository da Bitbucket Server in una rete privata.
- Scopri come eseguire deployment blu/verdi su Compute Engine.