Questa pagina spiega come connettersi a un repository Bitbucket Data Center a Cloud Build.
Prima di iniziare
-
Enable the Cloud Build, Secret Manager, and Compute Engine APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles.
- Segui le istruzioni per connettere un host Bitbucket Data Center prima di connetterti a un repository.
Connettersi 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 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 connettere il 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.
Host connection (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 a cui vuoi connetterti 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. (Facoltativo) Fai clic su Crea un trigger per creare un trigger.
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 di progetto del tuo progetto Cloud.
- REGION è la regione associata alla configurazione di Bitbucket Data Center.
- BITBUCKET_DATA_CENTER_CONFIG_NAME è il nome della tua configurazione di Bitbucket Data Center.
- PROJECT_KEY è la chiave del tuo progetto Bitbucket Data
Center. Se vuoi connettere un repository personale, la chiave del progetto
deve contenere il simbolo della tilde (
~
) prima del tuo 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 è il tuo Google Cloud ID progetto.
- REGION è la regione associata alla configurazione di Bitbucket Data Center.
- BITBUCKET_DATA_CENTER_CONFIG_NAME è il nome della tua configurazione di Bitbucket Data Center. In caso di esito positivo, il corpo della risposta contiene un'istanza appena creata di Operation.
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 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 tua risposta è il seguente:projects/project-id/locations/region/operations/operation-id
.
Potrebbe essere necessario continuare a eseguire il comando API
GetOperation
finché la risposta non contienedone: true
, che indica che l'operazione è completata. Se il repository Bitbucket Data Center è connesso correttamente, puoi visualizzarlo nel camporesponse.bitbucketServerConnectedRepositories
. In caso contrario, consulta il campoerror
per un report dettagliato sugli errori.
Quando un repository è connesso, Cloud Build configura un webhook sul repository nell'istanza Bitbucket Data Center. Il repository invia quindi webhook per richiamare i trigger Bitbucket Data Center corrispondenti quando apporti modifiche al repository. Un repository può essere connesso più volte con più connessioni host. Per scoprire come gestire i webhook, consulta Gestire i webhook.
Per individuare il webhook, devi disporre del relativo ID. L'ID webhook per ogni repository connesso è 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 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.