Questa pagina spiega come connettere un repository Bitbucket Data Center a Cloud Build.
Prima di iniziare
-
Enable the Cloud Build, Secret Manager, and Compute Engine APIs.
- Segui le istruzioni per collegare un host Bitbucket Data Center prima di collegare un repository.
Connettiti a un repository Bitbucket Data Center
Console
Per collegare un repository Bitbucket Data Center a Cloud Build utilizzando la console Google Cloud :
Apri la pagina Repository nella console Google Cloud .
Nella parte superiore della pagina, seleziona la scheda 1ª gen..
Fai clic su Connetti repository.
Seleziona Bitbucket Data Center.
Viene visualizzato il riquadro Connetti repository. Completa i seguenti passaggi per collegare 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 Bitbucket Data Center.
Connessione host: seleziona il nome della connessione all'host dal menu a discesa.
Fai clic su Continua.
In Seleziona repository, seleziona i repository Bitbucket Data Center da 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 tuoi repository.
Fai clic su Fine. Se vuoi, fai clic su Crea un trigger per creare un trigger.
API
Per collegare 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 progetto Cloud.
- REGION è la regione associata alla configurazione di Bitbucket Data Center.
- BITBUCKET_DATA_CENTER_CONFIG_NAME è il nome della configurazione di Bitbucket Data Center.
- PROJECT_KEY è la chiave del tuo progetto Bitbucket Data Center. Se vuoi collegare 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 progetto Google Cloud .
- REGION è la regione associata alla configurazione di Bitbucket Data Center.
- BITBUCKET_DATA_CENTER_CONFIG_NAME è il nome della configurazione di Bitbucket Data Center. In caso di esito positivo, il corpo della risposta contiene un'istanza appena creata di Operation.
Esegui 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 Google Cloud .
- PROJECT_ID è il tuo ID Google Cloud .
- REGION è la regione associata alla configurazione di Bitbucket Data Center.
- 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 è il seguente:projects/project-id/locations/region/operations/operation-id
.
Potresti dover continuare a eseguire il comando API
GetOperation
finché la risposta non contienedone: true
, che indica il completamento dell'operazione. Se il repository Bitbucket Data Center è collegato correttamente, puoi visualizzarlo nel camporesponse.bitbucketServerConnectedRepositories
. In caso contrario, consulta il campoerror
per un report dettagliato sugli errori.
Quando un repository è collegato, Cloud Build configura un webhook sul repository nell'istanza Bitbucket Data Center. Il repository quindi invia webhook per richiamare gli attivatori di Bitbucket Data Center corrispondenti quando apporti modifiche al repository. Un repository può anche essere collegato più volte con più connessioni host. Per scoprire come gestire gli webhook, consulta Gestire gli webhook.
Per trovare il webhook, devi disporre dell'ID webhook. L'ID webhook per ogni
repository collegato è disponibile in BitbucketServerConfig
.
Inserisci il seguente comando 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 all'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/verdi su Compute Engine.