Questa pagina spiega come connettersi a Cloud Build a un repository data center Bitbucket.
Prima di iniziare
-
Abilita le API Cloud Build, Secret Manager, and Compute Engine.
- Prima di connettere un repository, segui le istruzioni per connettere un host Bitbucket Data Center.
Connettiti a un repository Bitbucket Data Center
Console
Per connettere un repository Bitbucket Data Center 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 generazione.
Fai clic su Connetti repository.
Seleziona Bitbucket Data Center.
Verrà visualizzato il riquadro Connetti repository. Completa i seguenti passaggi per connettere il tuo repository Bitbucket Data Center:
Regione: seleziona la regione in cui si trova la connessione.
In Seleziona il provider di gestione del codice sorgente, seleziona Data center Bitbucket.
Connessione host: seleziona il nome della connessione host dal menu a discesa.
Fai clic su Continua.
In Seleziona repository, seleziona i repository Bitbucket Data Center che vuoi connettere a Cloud Build.
Dopo aver selezionato l'account e i repository Bitbucket Data Center, leggi il disclaimer per il consenso e seleziona la casella di controllo accanto per indicare che accetti i termini presentati.
Fai clic su Connetti per connettere i repository.
Fai clic su Fine. (Facoltativo) Fai clic su Crea un attivatore per crearne uno.
API
Per connettere il repository Bitbucket Data Center a Cloud Build utilizzando l'API, completa i seguenti passaggi:
Crea un file JSON con i seguenti contenuti:
{ "parent": "projects/PROJECT_NUMBER/locations/REGION/bitbucketServerConfigs/BITBUCKET_DATA_CENTER_CONFIG_NAME", "requests": { "parent": "projects/PROJECT_NUMBER/locations/REGION/bitbucketServerConfigs/BITBUCKET_DATA_CENTER_CONFIG_NAME", "bitbucketServerConnectedRepository": { "parent": "projects/PROJECT_NUMBER/locations/REGION/bitbucketServerConfigs/BITBUCKET_DATA_CENTER_CONFIG_NAME", "repo": { "projectKey":"PROJECT_KEY", "repoSlug": "REPO_SLUG", } } } }
Dove:
- PROJECT_NUMBER è il numero del tuo progetto Cloud.
- REGION è la regione associata alla configurazione del data center di Bitbucket.
- BITBUCKET_DATA_CENTER_CONFIG_NAME è il nome della configurazione del tuo data center Bitbucket.
- PROJECT_KEY è la chiave del tuo progetto Bitbucket Data Center. 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 di un repository host è simile ahttps://${HOST_URI}/projects/~${USER_NAME}/repos/${REPO_SLUG}
. - REPO_SLUG è lo slug del tuo repository Bitbucket Data Center.
Esegui il seguente comando
curl
nel terminale dalla stessa directory del file JSON:
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_DATA_CENTER_CONFIG_NAME/connectedRepositories:batchCreate -d @requests.json
Dove:
- PROJECT_NUMBER è il numero del tuo progetto Google Cloud.
- PROJECT_ID è l'ID del tuo progetto Google Cloud.
- REGION è la regione associata alla configurazione del data center di Bitbucket.
- BITBUCKET_DATA_CENTER_CONFIG_NAME è il nome della configurazione del tuo data center Bitbucket. In caso di esito positivo, il corpo della risposta contiene un'istanza di Operation appena creata.
Esegui questo 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 Google Cloud.
- PROJECT_ID è il tuo ID Google Cloud.
- REGION è la regione associata alla configurazione del data center di Bitbucket.
- OPERATION_ID è l'ID dell'operazione di creazione della configurazione
di Bitbucket Data Center. 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 non contienedone: true
, a indicare che l'operazione è stata completata. Se il repository Bitbucket Data Center è connesso correttamente, puoi visualizzarlo nel camporesponse.bitbucketServerConnectedRepositories
. In caso contrario, controlla il campoerror
per un report dettagliato sugli errori.
Quando un repository è connesso, Cloud Build configura un webhook sul repository nella tua istanza di Bitbucket Data Center. Il repository invia poi webhook per richiamare i trigger di Bitbucket Data Center corrispondenti quando apporti modifiche al repository. Un repository può essere connesso più volte a connessioni host. Per informazioni su come gestire i webhook, consulta Gestire i webhook.
Per individuare il webhook, devi avere l'ID webhook. L'ID webhook per ogni repository collegato è 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 Data Center
- REGION è la regione della connessione host di Bitbucket Data Center
Passaggi successivi
- Scopri come creare repository da Bitbucket Data Center.
- Scopri come creare repository da Bitbucket Data Center in una rete privata.
- Scopri come eseguire deployment blu/verde su Compute Engine.