Connettiti a un repository del data center Bitbucket

Questa pagina spiega come connettersi a un repository Bitbucket Data Center in Cloud Build.

Prima di iniziare

  • Abilita le API Cloud Build, Secret Manager, and Compute Engine.

    Abilita le API

Connettiti a un repository del data center Bitbucket

Console

Per connettere un repository di data center Bitbucket a Cloud Build utilizzando la console Google Cloud:

  1. Apri la pagina Repository nella console Google Cloud.

    Apri la pagina Repository

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

  3. Fai clic su Connetti repository.

  4. Seleziona Bitbucket Data Center.

    Verrà visualizzato il riquadro Connect Repository (Connetti repository). Completa le seguenti informazioni passaggi per connettere il repository del data center Bitbucket:

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

    2. In Seleziona provider per la gestione del codice sorgente, seleziona Bitbucket data center.

    3. Host connection (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 la limitazione di responsabilità 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 tuoi repository.

  5. Fai clic su Fine. Facoltativamente, fai clic su Crea un trigger per creare un trigger.

API

Per connettere il repository del data center Bitbucket a Cloud Build utilizzando l'API, completa i seguenti passaggi:

  1. Crea un file JSON con il seguente contenuto:

    {
      "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 progetto cloud.
    • REGION è la regione associati alla configurazione del data center Bitbucket.
    • BITBUCKET_DATA_CENTER_CONFIG_NAME è il nome di la configurazione del data center Bitbucket.
    • PROJECT_KEY è la chiave dei tuoi dati Bitbucket progetto Center. Se vuoi connettere un repository personale, il progetto deve contenere la tilde (~) prima del nome utente. Ad esempio, ~${USERNAME}. L'URL completo per un repository host è simile a https://${HOST_URI}/projects/~${USER_NAME}/repos/${REPO_SLUG}.
    • REPO_SLUG è il slug del repository del data center Bitbucket.
  2. Esegui questo comando curl nel terminale dalla stessa directory come 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 tuo progetto Google Cloud numero.
  • PROJECT_ID è il tuo ID progetto Google Cloud.
  • REGION è la regione associati alla configurazione del data center Bitbucket.
  • BITBUCKET_DATA_CENTER_CONFIG_NAME è il nome di la configurazione del data center Bitbucket. In caso di esito positivo, il corpo della risposta contiene un'istanza del Operazione.
  1. Esegui questo comando curl nel tuo 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 tuo progetto Google Cloud numero.
    • PROJECT_ID è il tuo ID Google Cloud.
    • REGION è la regione associati alla configurazione del data center Bitbucket.
    • OPERATION_ID è l'ID dei tuoi dati Bitbucket Operazione di creazione della configurazione del centro. Puoi trovare l'ID operazione nel campo name della risposta. Il formato del campo name in la tua risposta è simile alla seguente: projects/project-id/locations/region/operations/operation-id.

    Potresti dover continuare a eseguire il comando API GetOperation fino al la risposta contiene done: true, che indica che l'operazione completata. Se il repository del data center Bitbucket è connesso correttamente, puoi vedere il repository connesso campo response.bitbucketServerConnectedRepositories. In caso contrario, consulta Campo error per un report dettagliato sugli errori.

Quando un repository è connesso, Cloud Build configura un webhook il repository nella tua istanza di data center Bitbucket. Il repository quindi invia webhook per richiamare i trigger del data center Bitbucket corrispondenti quando modifiche al repository. Un repository può essere connesso anche più volte con più connessioni host. Per scoprire come gestire per i webhook, consulta Gestire i webhook.

Per individuare il webhook, ti serve l'ID webhook. L'ID webhook per ogni 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 dei dati Bitbucket Centro configurazione
  • REGION è la regione dei dati Bitbucket Connessione host al centro

Passaggi successivi