Queste istruzioni sono destinate a sviluppatori di applicazioni, amministratori di piattaforme e responsabili della sicurezza che vogliono utilizzare i repository di codice sorgente Bitbucket Data Center con Google. In particolare, puoi utilizzare i repository Bitbucket Data Center con Gemini Code Assist.
Per saperne di più su Developer Connect, consulta la panoramica di Developer Connect.
Prima di iniziare
-
Accedi al tuo Account Google.
Se non ne hai già uno, registrati per creare un nuovo account.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Developer Connect and Service Directory APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Developer Connect and Service Directory APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
Assicurati di avere accesso a un account su Bitbucket Data Center.
Per proteggere il lavoro del tuo team, ti consigliamo di completare le attività descritte in questa guida utilizzando un account bot o un account condiviso dal tuo team, non un account personale.
- Assicurati di essere il proprietario di un repository Bitbucket Data Center o di disporre delle autorizzazioni a livello di amministratore su un repository condiviso.
- Assicurati di avere una risorsa di servizio Service Directory per
la connessione alle reti private o
crea una
risorsa di servizio Service Directory. Puoi creare la risorsa di servizio Service Directory nello stesso progetto che utilizzi con Developer Connect oppure puoi utilizzare un progetto diverso.
Per le connessioni a reti esterne a Google Cloud, potrebbe essere necessario configurare Service Directory in modo diverso. Consulta Utilizzare Service Directory per raggiungere gli host esterni Google Cloud.
- (Facoltativo) Crea una chiave di crittografia gestita dal cliente (CMEK) per criptare i secret di autenticazione creati da Developer Connect.
- (Facoltativo) Per utilizzare le istruzioni della riga di comando in questa guida, completa i seguenti passaggi:
- Installa la Google Cloud CLI. Se
hai già installato gcloud CLI, assicurati di avere
l'ultima versione disponibile eseguendo
gcloud components update. - Crea un service account Developer Connect
eseguendo il comando seguente, dove PROJECT_ID è l'Google Cloud ID progetto:
gcloud beta services identity create \ --service=developerconnect.googleapis.com \ --project=PROJECT_ID
- Installa la Google Cloud CLI. Se
hai già installato gcloud CLI, assicurati di avere
l'ultima versione disponibile eseguendo
L'abilitazione di Developer Connect abilita anche l' API Secret Manager.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per creare connessioni e link, chiedi all'amministratore di concederti i seguenti ruoli IAM:
-
Se non sei il proprietario del progetto:
Amministratore di Developer Connect (
roles/developerconnect.admin) sul tuo account utente. -
Se prevedi di utilizzare una CMEK per criptare i secret creati da Developer Connect:
Autore crittografia/decrittografia CryptoKey Cloud KMS (
roles/cloudkms.cryptoKeyEncrypterDecrypter) sul service account Secret Manager. -
Se prevedi di utilizzare gcloud CLI per completare i passaggi descritti in questa guida:
ruolo Amministratore di Secret Manager (
roles/secretmanager.admin) sul service account Developer Connect. -
Se prevedi di utilizzare la Google Cloud console per completare i passaggi descritti in questa guida:
Amministratore IAM progetto (
roles/resourcemanager.projectIamAdmin) sul tuo account utente.
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.
Concedi le autorizzazioni per utilizzare Service Directory
Completa i seguenti passaggi per consentire a Developer Connect di utilizzare Service Directory e a Service Directory di accedere alla risorsa della rete VPC.
Concedi le autorizzazioni al account di servizio Developer Connect per utilizzare Service Directory eseguendo i seguenti comandi:
PROJECT_NUMBER=$(gcloud projects describe PROJECT_ID --format="value(projectNumber)") SERVICE_ACCOUNT="service-${PROJECT_NUMBER}@gcp-sa-devconnect.iam.gserviceaccount.com" gcloud projects add-iam-policy-binding SERVICE_DIRECTORY_RESOURCE_PROJECT_ID \ --member="serviceAccount:${SERVICE_ACCOUNT}" \ --role="roles/servicedirectory.viewer"Sostituisci quanto segue:
- PROJECT_ID: l' Google Cloud ID progetto.
- SERVICE_DIRECTORY_RESOURCE_PROJECT_ID: l'ID progetto del progetto che contiene la risorsa di servizio Service Directory. Google Cloud
Concedi le autorizzazioni a Service Directory per accedere alla risorsa della rete VPC. La risorsa di rete può trovarsi in un progetto diverso.
gcloud projects add-iam-policy-binding NETWORK_RESOURCE_PROJECT_ID \ --member="serviceAccount:${SERVICE_ACCOUNT}" \ --role="roles/servicedirectory.pscAuthorizedService"Sostituisci NETWORK_RESOURCE_PROJECT_ID con l'ID progetto del progetto che contiene la risorsa della rete VPC.
Utilizza Service Directory per raggiungere gli host esterni Google Cloud
Service Directory utilizza l'intervallo di indirizzi IP 35.199.192.0/19 per
connettere l'host esterno a Google Cloud. Devi aggiungere questo intervallo a una lista consentita nel firewall. Inoltre, la rete privata deve essere configurata per instradare questo intervallo tramite la connessione Cloud VPN o Cloud Interconnect.
Se la connessione utilizza un router Cloud, puoi configurarla in modo che comunichi l'intervallo alla tua rete privata.
Per saperne di più, consulta Configurare l'accesso a una rete privata.
Utilizza Cloud Load Balancing per raggiungere gli host esterni Google Cloud
Se la configurazione di rete non consente di instradare l'
intervallo di indirizzi IP di Service Directory 35.199.192.0/19 a
Cloud VPN o Cloud Interconnect, puoi
creare un bilanciatore del carico utilizzando
Cloud Load Balancing che indirizza il traffico all'host.
Quando crei l'endpoint di Service Directory, assicurati di utilizzare l'indirizzo IP della regola di forwarding del bilanciatore del carico anziché l'indirizzo IP dell'host. Puoi utilizzare un bilanciatore del carico HTTPS interno o un bilanciatore del carico del protocollo TCP (Transmission Control Protocol) interno quando crei l'endpoint.
Quando crei il bilanciatore del carico TCP, tieni presente quanto segue:
- Per raggiungere l'host è necessario solo un gruppo di endpoint di rete (NEG) con connettività ibrida.
- Il bilanciatore del carico TCP non richiede la chiave privata non criptata per il certificato SSL.
- La configurazione di Cloud VPN deve utilizzare il router Cloud con routing dinamico globale. Se Cloud VPN utilizza il routing statico, puoi utilizzare un proxy che utilizza Cloud Service Mesh. Per saperne di più, consulta Configurare i servizi di rete per i deployment ibridi.
Per saperne di più sulla creazione di un bilanciatore del carico HTTPS, consulta Configurare un bilanciatore del carico delle applicazioni interno con connettività ibrida. Per saperne di più sulla creazione di un bilanciatore del carico TCP, consulta Configurare un bilanciatore del carico di rete proxy TCP interno a livello di regione con connettività ibrida.
Crea token di accesso
Crea token di accesso personali in Bitbucket Data Center completando i seguenti passaggi:
Segui le istruzioni nella documentazione di Bitbucket Data Center per creare due token di accesso HTTP e concedere gli ambiti seguenti.
Developer Connect supporta i token di accesso utente, progetto e repository.
- Crea un token con l'ambito
repository admin. In Developer Connect, questo token è chiamato token di accesso amministrativo. - Crea un token con l'ambito
repository read. In Developer Connect, questo token è chiamato token di accesso in lettura.
Sei responsabile della gestione della durata dei token di Bitbucket Data Center in Bitbucket Data Center. Per proteggere il codice sorgente, puoi impostare una data di scadenza durante la creazione del token. Se non imposti una data di scadenza, il token rimane valido finché non lo revochi in Bitbucket Data Center.
- Crea un token con l'ambito
Copia i token di accesso da utilizzare nelle procedure seguenti.
Crea una connessione
Questa sezione descrive come creare una connessione tra Developer Connect e Bitbucket Data Center. Se utilizzi la Google Cloud console, puoi anche iniziare ad aggiungere link ai repository al termine della configurazione della connessione.
Per creare una nuova connessione Bitbucket Data Center, seleziona una delle seguenti opzioni:
Console
Avvia una connessione completando i seguenti passaggi:
Nella Google Cloud console, apri Developer Connect.
Developer Connect visualizza la pagina Repository Git.
- Se vedi un elenco di provider di gestione del codice sorgente: inizia a configurare la prima connessione selezionando un provider di gestione del codice sorgente. Fai clic su Connetti nella scheda Bitbucket Data Center.
Se vedi una tabella che elenca le connessioni esistenti: imposta il provider di gestione del codice sorgente facendo clic su Crea connessione > Bitbucket Data Center.
Si apre la pagina Crea connessione.
In Regione, scegli una regione per le risorse di connessione.
- In Nome, inserisci un nome per la nuova connessione.
Nella sezione Token di accesso, inserisci i token di accesso di Bitbucket Data Center:
Token di accesso amministrativo: inserisci il token con accesso all'ambito di amministratore del repository.
Token di accesso in lettura: inserisci il token con accesso all'ambito di lettura del repository.
In URL host, inserisci l'URL dell'host a cui vuoi connetterti.
Fai clic su Mostra altro per visualizzare le impostazioni di configurazione facoltative.
La casella di controllo Abilita proxy Developer Connect è selezionata per impostazione predefinita in modo che Developer Connect possa fungere da proxy per le chiamate Git a Bitbucket Data Center.
Nella sezione Networking, in Tipo di rete, scegli Rete privata.
In Certificato CA, fai clic su Sfoglia per caricare il certificato autofirmato.
La dimensione del certificato non deve superare i 10 KB e deve essere in formato PEM (.pem, .cer o .crt). Se questa sezione viene lasciata vuota, verrà utilizzato un insieme predefinito di certificati.
Nella sezione Servizio Service Directory, seleziona la località del servizio:
- Nel progetto
your-project - In un altro progetto
- Inserisci manualmente
Se selezioni In un altro progetto o Inserisci manualmente, specifica il tuo Google Cloud ID progetto. Seleziona il progetto nel menu a discesa o inserisci manualmente l'ID progetto.
- Nel progetto
Regione: seleziona la regione del servizio Service Directory. La regione specificata per il servizio deve corrispondere alla regione associata alla connessione.
Spazio dei nomi: seleziona lo spazio dei nomi del tuo servizio Service Directory.
Servizio: seleziona il nome del servizio Service Directory nello spazio dei nomi.
(Facoltativo) Nella sezione Crittografia, seleziona una chiave CMEK per criptare i secret di Secret Manager creati da Developer Connect.
Fai clic sul pulsante Continua. Developer Connect crea la connessione. Questa procedura può richiedere alcuni secondi.
Una volta creata la connessione, viene visualizzata la pagina Collega repository.
Completa i seguenti passaggi per collegare i repository alla connessione:
Nell'elenco dei repository disponibili, seleziona quelli che vuoi utilizzare.
Fai clic su OK.
Fai clic su Collega.
La connessione viene aggiunta alla pagina Connessioni e i link ai repository vengono aggiunti alla pagina Repository nella Google Cloud console. Puoi aggiungere altri link alle connessioni esistenti in qualsiasi momento.
Se stai configurando Gemini Code Assist, continua la procedura seguendo i passaggi descritti in Configurare e utilizzare la personalizzazione del codice di Gemini Code Assist.
gcloud
Crea un secret webhook in Secret Manager eseguendo il comando seguente, dove WEBHOOK_SECRET_NAME è un nome per il secret webhook:
cat /proc/sys/kernel/random/uuid | tr -d '\n' | gcloud secrets create WEBHOOK_SECRET_NAMEArchivia i token di accesso in Secret Manager eseguendo i seguenti comandi:
gcloud secrets create ADMIN_SECRET_NAME echo -n ADMIN_SECRET_DATA | gcloud secrets versions add ADMIN_SECRET_NAME --data-file=- gcloud secrets create READ_SECRET_NAME echo -n READ_SECRET_DATA | gcloud secrets versions add READ_SECRET_NAME --data-file=-Sostituisci quanto segue:
- ADMIN_SECRET_NAME: un nome per il secret che memorizza il token di accesso amministrativo.
- ADMIN_SECRET_DATA: il token di accesso amministrativo.
- READ_SECRET_NAME: un nome per il secret che memorizza il token di accesso in lettura.
- READ_SECRET_DATA: il token di accesso in lettura.
Esegui il
gcloud developer-connect connections createcomando per creare una connessione a Bitbucket Data Center:gcloud developer-connect connections create CONNECTION_NAME \ --location=REGION \ --bitbucket-data-center-config-host-uri=HOST_URI \ --bitbucket-data-center-config-authorizer-credential-user-token-secret-version=projects/PROJECT_ID/secrets/ADMIN_SECRET_NAME/versions/VERSION \ --bitbucket-data-center-config-read-authorizer-credential-user-token-secret-version=projects/PROJECT_ID/secrets/READ_SECRET_NAME/versions/VERSION \ --bitbucket-data-center-config-webhook-secret-version=projects/PROJECT_ID/secrets/WEBHOOK_SECRET_NAME/versions/VERSION --git-proxy-config-enabledSostituisci quanto segue:
- CONNECTION_NAME: un nome per la connessione.
- REGION: la regione da utilizzare per la connessione.
- HOST_URI: l'URI dell'host Bitbucket Data Center
incluso il prefisso
https://. - PROJECT_ID: l' Google Cloud ID progetto.
- ADMIN_SECRET_NAME: il nome del secret di Secret Manager che contiene il token di accesso amministrativo.
- READ_SECRET_NAME: il nome del secret di Secret Manager che contiene il token di accesso in lettura.
- WEBHOOK_SECRET_NAME: il nome del secret di Secret Manager che contiene il secret webhook.
- VERSION: il numero di versione di ogni secret. Può essere
latestper utilizzare il numero di versione più recente. --git-proxy-config-enabledè un flag facoltativo che consente a Developer Connect di fungere da proxy per le chiamate Git a Bitbucket Data Center. Devi abilitare questa funzionalità quando esegui la personalizzazione del codice di Gemini Code Assist sui repository di codice sorgente Bitbucket Data Center ospitati in reti private.--github-enterprise-config-ssl-ca-certificateè un flag facoltativo per aggiungere un certificato SSL, nel formato$HOME/my-ssl-ca.txt.
Developer Connect completa la connessione a Bitbucket Data Center. Poi, collega i repository.
Collega i repository utilizzando una connessione esistente
Dopo aver stabilito una connessione a Bitbucket Data Center, puoi collegare i repository. Puoi ripetere questi passaggi in un secondo momento per collegare altri repository, se necessario.
Per creare link ai repository su una connessione Bitbucket Data Center esistente, seleziona una delle seguenti opzioni:
Console
Crea link ai repository completando i seguenti passaggi:
Apri la pagina Repository nella Google Cloud console.
Fai clic su Collega repository.
Si apre il riquadro Collega repository Git.
Nell'elenco delle connessioni, scegli una connessione.
Fai clic su Continua.
Nell'elenco dei repository, seleziona quelli a cui vuoi collegarti.
Fai clic su Crea.
Developer Connect crea i link ai repository e li visualizza in the Google Cloud console.
gcloud
Crea un link al repository Bitbucket Data Center eseguendo il comando seguente:
gcloud developer-connect connections git-repository-links create REPO_NAME \
--clone-uri=REPO_URI \
--connection=CONNECTION_NAME \
--location=REGION
Sostituisci quanto segue:
- REPO_NAME: un nome per il nuovo link tra Developer Connect e il repository Bitbucket Data Center.
- REPO_URI: l'URL del repository in Bitbucket Data Center,
incluso il prefisso
https://e il suffisso.git. - CONNECTION_NAME: il nome della connessione a Bitbucket Data Center.
- REGION: la regione della connessione.
Developer Connect crea i link ai repository.
Per elencare i repository collegati, esegui il
developer-connect connections git-repository-linkslist
comando.
Se stai configurando Gemini Code Assist, continua la procedura seguendo i passaggi descritti in Configurare e utilizzare la personalizzazione del codice di Gemini Code Assist.
Passaggi successivi
- Completa la configurazione della personalizzazione del codice di Gemini Code Assist.
- Scopri come Gemini Code Assist ti aiuta ad accelerare lo sviluppo di software.
- Esplora altre integrazioni disponibili tramite Developer Connect.