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

  • Enable the Cloud Build, Secret Manager, and Compute Engine APIs.

    Enable the APIs

Connettiti a un repository Bitbucket Data Center

Console

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

  1. Apri la pagina Repositori nella console Google Cloud.

    Apri la pagina Repositori

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

  3. Fai clic su Connect Repository (Connetti repository).

  4. Seleziona Bitbucket Data Center.

    Viene visualizzato il riquadro 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. 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 collegare i tuoi repository.

  5. Fai clic su Fine. Se vuoi, 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 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 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 è il 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 è il tuo 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 tuo progetto Google Cloud numero.
    • 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 tua 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 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 i trigger del data center Bitbucket corrispondenti quando modifiche al repository. Un repository può anche essere connesso 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 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 della connessione all'host di Bitbucket Data Center

Passaggi successivi