Questa pagina spiega come connettersi a un repository Bitbucket Server a Cloud Build.
Prima di iniziare
-
Abilita le API Cloud Build, Secret Manager, and Compute Engine.
- Segui le istruzioni per connettere un host Bitbucket Server prima di connettere i repository.
Connessione a un repository Bitbucket Server
Console
Per connettere un repository Bitbucket Server a Cloud Build utilizzando la console Google Cloud:
Apri la pagina Repositories nella console Google Cloud.
Nella parte superiore della pagina, seleziona la scheda 1a gen..
Fai clic su Connetti repository.
Seleziona Bitbucket Server.
Vedrai il riquadro Connetti repository. Completa i seguenti passaggi per connettere il tuo repository Bitbucket Server:
Regione: seleziona una regione in cui si trova la connessione.
In Seleziona il provider della gestione del codice sorgente, seleziona Bitbucket Server.
Host connection (Connessione host): seleziona il nome della tua connessione host dal menu a discesa.
Fai clic su Continua.
In Seleziona repository, seleziona i repository Bitbucket Server che vuoi connettere a Cloud Build.
Dopo aver selezionato l'account e i repository Bitbucket Server, leggi il disclaimer per il consenso e seleziona la casella di controllo accanto ad esso per indicare che accetti i termini presentati.
Fai clic su Connetti per connettere i repository.
Quando un repository è connesso, Cloud Build configura un webhook nel repository nella tua istanza Bitbucket Server. Il repository invia quindi i webhook per richiamare i trigger di Bitbucket Server corrispondenti quando apportare modifiche al repository. Un repository può inoltre essere connesso più volte a più connessioni host. Per scoprire come gestire i webhook, consulta Gestire i webhook.
Per individuare il webhook, devi avere l'ID webhook. L'ID webhook per ogni repository connesso è disponibile in
BitbucketServerConfig
.Inserisci il comando seguente per recuperare l'ID webhook:
gcloud alpha builds enterprise-config bitbucketserver describe CONFIG_NAME --region=REGION
Dove:
- CONFIG_NAME è il nome della configurazione di Bitbucket Server
- REGION è la regione della connessione host di Bitbucket Server
Fai clic su Fine. (Facoltativo) Fai clic su Crea un attivatore per crearne uno.
API
Per connettere il repository Bitbucket Server a Cloud Build utilizzando l'API, completa i seguenti passaggi:
Utilizza il seguente modello JSON per connettere il repository:
{ "parent": "projects/PROJECT_NUMBER/locations/REGION/bitbucketServerConfigs/BITBUCKET_SERVER_CONFIG_NAME", "requests": { "parent": "projects/PROJECT_NUMBER/locations/REGION/bitbucketServerConfigs/BITBUCKET_SERVER_CONFIG_NAME", "bitbucketServerConnectedRepository": { "parent": "projects/PROJECT_NUMBER/locations/REGION/bitbucketServerConfigs/BITBUCKET_SERVER_CONFIG_NAME", "repo": { "projectKey": "PROJECT_KEY", "repoSlug": "REPO_SLUG" } } } }
Dove:
- PROJECT_NUMBER è il numero del progetto Cloud.
- REGION è la regione associata alla configurazione di Bitbucket Server.
- BITBUCKET_SERVER_CONFIG_NAME è il nome della configurazione di Bitbucket Server.
- PROJECT_KEY è la chiave del tuo progetto Bitbucket Server.
Se vuoi connettere un repository personale, la chiave del progetto deve contenere il simbolo tilde (
~
) prima del nome utente. Ad esempio,~${USERNAME}
. L'URL completo per un repository host potrebbe essere simile ahttps://${HOST_URI}/projects/~${USER_NAME}/repos/${REPO_SLUG}
. - REPO_SLUG è lo slug del repository Bitbucket Server.
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/locations/REGION/bitbucketServerConfigs/BITBUCKET_SERVER_CONFIG_NAME/connectedRepositories:batchCreate -d @requests.json
Dove:
- PROJECT_NUMBER è il numero del tuo progetto Cloud.
- PROJECT_ID è il tuo ID progetto Cloud.
- REGION è la regione associata alla configurazione di Bitbucket Server.
- BITBUCKET_SERVER_CONFIG_NAME è il nome della tua configurazione di Bitbucket Server.
In caso di esito positivo, il corpo della risposta contiene un'istanza dell'operazione appena creata.
Inserisci il seguente comando
curl
nel terminale:curl -X GET -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/locations/REGION/operations/OPERATION_ID
Dove:
- PROJECT_NUMBER è il numero del tuo progetto Cloud.
- PROJECT_ID è il tuo ID progetto Cloud.
- REGION è la regione associata alla configurazione di Bitbucket Server.
- OPERATION_ID è l'ID dell'operazione di creazione della configurazione di Bitbucket Server.
Puoi trovare l'ID operazione nel campo
name
della risposta. Il formato del camponame
nella risposta è simile al seguente:projects/project-id/locations/region/operations/operation-id
.
Potresti dover continuare a eseguire il comando API
GetOperation
fino a quando la risposta contienedone: true
, a indicare che l'operazione è stata completata. Se la connessione del repository Bitbucket Server è riuscita, puoi vedere il repository connesso nel camporesponse.bitbucketServerConnectedRepositories
. Altrimenti, vedi il campoerror
per un report dettagliato sugli errori.
Passaggi successivi
- Scopri come creare repository da Bitbucket Server.
- Scopri come creare repository da Bitbucket Server in una rete privata.
- Scopri come eseguire deployment blu/verde su Compute Engine.