Connettiti a un repository Bitbucket Data Center

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.

    Abilita le API

Connettiti a un repository Bitbucket Data Center

Console

Per connettere un repository Bitbucket Data Center a Cloud Build utilizzando la console Google Cloud:

  1. Apri la pagina Repositories nella console Google Cloud.

    Apri la pagina Repository

  2. Nella parte superiore della pagina, seleziona la scheda 1a generazione.

  3. Fai clic su Connetti repository.

  4. Seleziona Bitbucket Data Center.

    Verrà visualizzato il riquadro Connetti repository. Completa i seguenti passaggi per connettere il tuo repository Bitbucket Data Center:

    1. Regione: seleziona la regione in cui si trova la connessione.

    2. In Seleziona il provider di gestione del codice sorgente, seleziona Data center Bitbucket.

    3. Connessione host: seleziona il nome della connessione host dal menu a discesa.

    4. Fai clic su Continua.

    5. In Seleziona repository, seleziona i repository Bitbucket Data Center che vuoi connettere a Cloud Build.

    6. 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.

    7. Fai clic su Connetti per connettere i repository.

  5. 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:

  1. 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 a https://${HOST_URI}/projects/~${USER_NAME}/repos/${REPO_SLUG}.
    • REPO_SLUG è lo slug del tuo repository Bitbucket Data Center.
  2. 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.
  1. 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 campo name 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 contiene done: true, a indicare che l'operazione è stata completata. Se il repository Bitbucket Data Center è connesso correttamente, puoi visualizzarlo nel campo response.bitbucketServerConnectedRepositories. In caso contrario, controlla il campo error 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