Queste istruzioni sono destinate a sviluppatori di applicazioni, amministratori di piattaforme e responsabili della sicurezza che vogliono utilizzare i repository del codice sorgente di 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à di questa guida utilizzando un account bot o un account condiviso dal tuo team, non un account personale.
- Assicurati di essere proprietario di un repository Bitbucket Data Center o di disporre delle autorizzazioni a livello di amministratore su un repository condiviso.
- Assicurati di disporre di una risorsa di servizio Service Directory per la connessione a reti private oppure 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. Vedi Utilizzare Service Directory per raggiungere gli host al di fuori di 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 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 questo comando, dove PROJECT_ID è il tuo Google Cloud ID progetto:
gcloud beta services identity create \ --service=developerconnect.googleapis.com \ --project=PROJECT_ID
- Installa 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 di questa guida:
Ruolo Amministratore Secret Manager (
roles/secretmanager.admin) nell'account di servizio Developer Connect. -
Se prevedi di utilizzare la Google Cloud console per completare i passaggi descritti in questa guida:
Project IAM Admin (
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 di rete VPC.
Concedi le autorizzazioni all'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: il tuo ID progetto Google Cloud .
- SERVICE_DIRECTORY_RESOURCE_PROJECT_ID: l'ID progetto per il progetto Google Cloud che contiene la risorsa di servizio Service Directory.
Concedi le autorizzazioni a Service Directory per accedere alla risorsa di 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 di rete VPC.
Utilizzare Service Directory per raggiungere gli host esterni a Google Cloud
Service Directory utilizza l'intervallo di indirizzi IP 35.199.192.0/19 per
connettere l'host al di fuori di Google Cloud. Devi aggiungere questo intervallo a
una lista consentita nel firewall. Inoltre, la tua 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 per comunicare l'intervallo alla tua rete privata.
Per saperne di più, consulta Configurare l'accesso alla rete privata.
Utilizza Cloud Load Balancing per raggiungere gli host al di fuori di 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 Service Directory, assicurati di utilizzare l'indirizzo IP della regola di forwarding del bilanciatore del carico anziché l'indirizzo IP dell'host. Quando crei l'endpoint, puoi utilizzare un bilanciatore del carico HTTPS interno o un bilanciatore del carico TCP (Transmission Control Protocol) interno.
Quando crei il bilanciatore del carico TCP, considera 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 crittografata per il tuo certificato SSL.
- La configurazione di Cloud VPN deve utilizzare router Cloud con il routing dinamico globale. Se la tua Cloud VPN utilizza il routing statico, puoi utilizzare un proxy che utilizza Cloud Service Mesh. Per saperne di più, vedi Configurare i servizi edge 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 Configura un bilanciatore del carico di rete proxy interno regionale con connettività ibrida.
Creare token di accesso
Crea token di accesso personale 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 di utenti, progetti 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 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 console Google Cloud , 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 console Google Cloud , 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.
Per 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 amministrazione 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, per Tipo di rete, scegli Rete privata.
In Certificato CA, fai clic su Sfoglia per caricare il certificato autofirmato.
Le dimensioni del certificato non devono 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 posizione del tuo servizio:
- Nel progetto
your-project - In un altro progetto
- Inserisci manualmente
Se selezioni In un altro progetto o Inserisci manualmente, specifica l'ID Google Cloud progetto. Seleziona il progetto nel menu a discesa o inserisci manualmente l'ID progetto.
- Nel progetto
Regione: seleziona la regione del tuo servizio Service Directory. La regione specificata per il tuo servizio deve corrispondere a quella associata alla tua connessione.
Spazio dei nomi: seleziona lo spazio dei nomi del tuo servizio Service Directory.
Servizio: seleziona il nome del servizio Service Directory nel tuo spazio dei nomi.
(Facoltativo) Nella sezione Crittografia, seleziona una chiave CMEK per crittografare 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 tua 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 al repository vengono aggiunti alla pagina Repository nella console Google Cloud . 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 archivia il token di accesso in lettura.
- READ_SECRET_DATA: il token di accesso in lettura.
Esegui il comando
gcloud developer-connect connections createper 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: il tuo 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. Questo
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 attivare questa funzionalità quando esegui la personalizzazione del codice di Gemini Code Assist nei 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. Successivamente, collega i repository.
Collegare i repository utilizzando una connessione esistente
Una volta stabilita una connessione a Bitbucket Data Center, puoi collegarti ai repository. Puoi ripetere questi passaggi in un secondo momento per collegare altri repository in base alle tue esigenze.
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 console Google Cloud .
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 nella console Google Cloud .
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 collegamento tra Developer Connect e il repository Bitbucket Data Center.
- REPO_URI: l'URL del repository in Bitbucket Data Center, inclusi 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 comando
developer-connect connections git-repository-linkslist.
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 software.
- Esplora altre integrazioni disponibili tramite Developer Connect.