Connettiti a un repository Bitbucket Data Center

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.

    Enable the APIs

Connettiti a un repository Bitbucket Data Center

Console

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

  1. Apri la pagina Repository nella console Google Cloud .

    Apri la pagina Repositori

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

  3. Fai clic su Connetti repository.

  4. Seleziona Bitbucket Data Center.

    Viene visualizzato il riquadro Connetti repository. Completa i seguenti passaggi per collegare 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 Bitbucket Data Center.

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

    4. Fai clic su Continua.

    5. In Seleziona repository, seleziona i repository Bitbucket Data Center da 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 tuoi repository.

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

  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 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 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 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.
  1. 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 campo name 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 contiene done: true, che indica il completamento dell'operazione. Se il repository Bitbucket Data Center è collegato correttamente, puoi visualizzarlo nel campo response.bitbucketServerConnectedRepositories. In caso contrario, consulta il campo error 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