Connettersi a un repository Bitbucket Server

Questa pagina spiega come connettersi a un repository Bitbucket Server a Cloud Build.

Prima di iniziare

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

    Enable the APIs

Connessione a un repository Bitbucket Server

Console

Per connettere un repository Bitbucket Server 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 1ª gen..

  3. Fai clic su Connetti repository.

  4. Seleziona Bitbucket Server.

    Viene visualizzato il riquadro Connetti repository. Completa i seguenti passaggi per connettere il repository Bitbucket Server:

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

    2. Nella sezione Seleziona il provider di gestione del codice sorgente, seleziona Bitbucket Server.

    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 Server che vuoi connettere a Cloud Build.

    6. Dopo aver selezionato l'account e i repository Bitbucket Server, 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.

    Quando un repository è connesso, Cloud Build configura un webhook sul repository nell'istanza di Bitbucket Server. Il repository invia quindi webhook per richiamare i trigger Bitbucket Server 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 Server
    • REGION è la regione della connessione host di Bitbucket Server
  5. Fai clic su Fine. (Facoltativo) Fai clic su Crea un trigger per creare un trigger.

API

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

  1. Utilizza il seguente modello JSON per connettere il repository:

    {
      "parent": "projects/PROJECT_NUMBER/locations/REGION/bitbucketServerConfigs/BITBUCKET_SERVER_CONFIG_NAME",
      "requests": {
        "parent": "projects/PROJECT_NUMBER/locations/REGION/bitbucketServerConfigs/BITBUCKET_SERVER_CONFIG_NAME",
       "bitbucketServerConnectedRepository": {
          "parent": "projects/PROJECT_NUMBER/locations/REGION/bitbucketServerConfigs/BITBUCKET_SERVER_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 Server.
    • BITBUCKET_SERVER_CONFIG_NAME è il nome della tua configurazione di Bitbucket Server.
    • PROJECT_KEY è la chiave del tuo progetto Bitbucket Server. 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 potrebbe avere il seguente aspetto: https://${HOST_URI}/projects/~${USER_NAME}/repos/${REPO_SLUG}.
    • REPO_SLUG è lo slug del tuo repository Bitbucket Server.
  2. Inserisci questo comando curl nel terminale:

    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_SERVER_CONFIG_NAME/connectedRepositories:batchCreate -d @requests.json
    

    Dove:

    • PROJECT_NUMBER è il numero del tuo progetto Cloud.
    • PROJECT_ID è il tuo ID progetto Cloud.
    • REGION è la regione associata alla configurazione di Bitbucket Server.
    • BITBUCKET_SERVER_CONFIG_NAME è il nome della configurazione di Bitbucket Server.

    In caso di esito positivo, il corpo della risposta contiene un'istanza appena creata di Operation.

  3. Inserisci 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 Cloud.
    • PROJECT_ID è il tuo ID progetto Cloud.
    • REGION è la regione associata alla configurazione di Bitbucket Server.
    • OPERATION_ID è l'ID dell'operazione di creazione della configurazione di Bitbucket Server. Puoi trovare l'ID operazione nel campo name della risposta. Il formato del campo name 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 contiene done: true, che indica che l'operazione è stata completata. Se il repository Bitbucket Server è connesso correttamente, puoi visualizzarlo nel campo response.bitbucketServerConnectedRepositories. In caso contrario, consulta il campo error per un report dettagliato sugli errori.

Passaggi successivi