Connettiti a un host Bitbucket Cloud

Questa pagina spiega come connettersi a un host Bitbucket Cloud a Cloud Build.

Prima di iniziare

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

    Abilita le API

Autorizzazioni IAM richieste

Per ottenere le autorizzazioni necessarie per la connessione, chiedi all'amministratore di concederti il ruolo IAM Amministratore connessioni Cloud Build (cloudbuild.connectionAdmin) per l'account utente. Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso.

Potresti anche essere in grado di ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.

Crea token di accesso Bitbucket Cloud

Crea i due token di accesso seguenti in Bitbucket Cloud:

  • Token di accesso amministrativo per connettere e scollegare i repository.
  • Token di accesso in lettura per consentire a Cloud Build di accedere al tuo codice sorgente.

Per creare questi token, segui questi passaggi:

  1. Accedi a Bitbucket Cloud.

  2. Segui le istruzioni di Bitbucket Cloud per creare token di accesso collegati al tuo repository, progetto o area di lavoro.

    Concedi le seguenti autorizzazioni:

    • Token di accesso amministrativo:

      • Repository: lettura e amministrazione
      • Richieste di pull: lettura
      • Webhook: Lettura e Scrittura
    • Token di accesso in lettura:

      • Repository: lettura
  3. Copia i tuoi token per utilizzarli nelle seguenti procedure.

Connettiti a un host Bitbucket Cloud

Console

Connetti Cloud Build al tuo host Bitbucket Cloud completando i seguenti passaggi:

  1. Apri la pagina Repositories nella console Google Cloud.

    Apri la pagina Repository

    Verrà visualizzata la pagina Repositories.

  2. Nel selettore dei progetti, seleziona il tuo progetto Google Cloud.

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

  4. Fai clic su Crea connessione host per connettere un nuovo host a Cloud Build.

  5. Seleziona Bitbucket come provider di origine.

  6. Nella sezione Configura connessione, inserisci le seguenti informazioni:

    1. Regione: seleziona una regione per la connessione.

    2. Nome: inserisci un nome per la connessione.

    3. Nella sezione Dettagli host, seleziona Bitbucket Cloud come tipo di host.

    4. Area di lavoro: inserisci l'ID area di lavoro per il repository Bitbucket Cloud.

    5. Token di accesso: inserisci il token di accesso amministrativo creato in precedenza.

    6. Token di accesso in lettura: inserisci il token di accesso in lettura creato in precedenza.

  7. Fai clic su Connetti.

    La nuova connessione viene visualizzata nella pagina Repositories.

gcloud

  1. Completa i seguenti passaggi per memorizzare le tue credenziali:

    1. Archivia i token di accesso in Secret Manager nel tuo progetto Google Cloud eseguendo questi comandi:

      echo -n ADMIN_TOKEN | gcloud secrets create ADMIN_SECRET_NAME --data-file=-
      
      echo -n READ_TOKEN | gcloud secrets create READ_SECRET_NAME --data-file=-
      

      Dove:

      • ADMIN_TOKEN è il tuo token di accesso amministrativo.
      • ADMIN_SECRET_NAME è il nome che vuoi assegnare al secret del token di accesso amministrativo in Secret Manager.
      • READ_TOKEN è il tuo token di accesso in lettura.
      • READ_SECRET_NAME è il nome che vuoi assegnare al secret del token di accesso in lettura in Secret Manager.
    2. Crea un secret webhook in Secret Manager eseguendo il comando seguente, dove WEBHOOK_SECRET_NAME è il nome che vuoi assegnare al secret del webhook:

      echo -n ${ex.(random-uuid)} | gcloud secrets create WEBHOOK_SECRET_NAME --data-file=-
      
    3. Se i secret non si trovano tutti nello stesso progetto, concedi l'accesso all'account di servizio Cloud Build eseguendo questo comando:

      PN=$(gcloud projects describe PROJECT_ID --format="value(projectNumber)")
      CLOUD_BUILD_SERVICE_ACCOUNT="service-${PN}@gcp-sa-cloudbuild.iam.gserviceaccount.com"
      gcloud secrets add-iam-policy-binding ADMIN_SECRET_NAME \
          --member="serviceAccount:${CLOUD_BUILD_SERVICE_ACCOUNT}" \
          --role="roles/secretmanager.secretAccessor"
      
      gcloud secrets add-iam-policy-binding READ_SECRET_NAME \
          --member="serviceAccount:${CLOUD_BUILD_SERVICE_ACCOUNT}" \
          --role="roles/secretmanager.secretAccessor"
      
      gcloud secrets add-iam-policy-binding WEBHOOK_SECRET_NAME \
          --member="serviceAccount:${CLOUD_BUILD_SERVICE_ACCOUNT}" \
          --role="roles/secretmanager.secretAccessor"
      

      Dove:

      • PROJECT_ID è l'ID del tuo progetto Google Cloud.
      • ADMIN_SECRET_NAME è il nome del secret del token amministratore.
      • READ_SECRET_NAME è il nome del secret del token di lettura.
      • WEBHOOK_SECRET_NAME è il nome del secret del webhook.
  2. Connetti Cloud Build al tuo host Bitbucket Cloud utilizzando il seguente comando:

    gcloud builds connections create bitbucket-cloud CONNECTION_NAME \
        --workspace=WORKSPACE_ID \
        --project=PROJECT_ID \
        --region=REGION \
        --authorizer-token-secret-version=projects/PROJECT_ID/secrets/ADMIN_SECRET_NAME/versions/latest \
        --read-authorizer-token-secret-version=projects/PROJECT_ID/secrets/READ_SECRET_NAME/versions/latest \
        --webhook-secret-secret-version=projects/PROJECT_ID/secrets/WEBHOOK_SECRET_NAME/versions/1
    

    Dove:

    • CONNECTION_NAME è il nome che vuoi assegnare alla connessione al tuo host Bitbucket Cloud.
    • WORKSPACE_ID è l'ID area di lavoro del tuo repository Bitbucket Cloud.
    • PROJECT_ID è l'ID del tuo progetto Google Cloud.
    • REGION è la regione per la connessione host.
    • ADMIN_SECRET_NAME è il nome del tuo secret del token amministratore.
    • READ_SECRET_NAME è il nome del secret del token di accesso in lettura.
    • WEBHOOK_SECRET_NAME è il nome del secret del tuo webhook.

Passaggi successivi