Questo documento descrive come configurare la personalizzazione del codice di Gemini Code Assist nella console Google Cloud , con Google Cloud CLI o con Terraform collegando Gemini Code Assist ai tuoi repository di codice privati. La funzionalità di personalizzazione del codice di Gemini Code Assist ti consente di ricevere suggerimenti sul codice, che si basano sulle librerie interne, sulle API private e sullo stile di programmazione della tua organizzazione.
Prima di iniziare
Verifica di disporre dei seguenti ruoli Identity and Access Management (IAM) sul progetto proprietario dell'abbonamento:
- Code Repository Indexes Admin (
roles/cloudaicompanion.codeRepositoryIndexesAdmin) - Gemini for Google Cloud User (
roles/cloudaicompanion.user)
- Code Repository Indexes Admin (
Crea o configura gli account utente. Ogni sviluppatore della tua organizzazione che utilizza Gemini Code Assist deve avere un'identità utente in Google Cloud che disponga dell'autorizzazione per accedere al tuo progetto Google Cloud . Per saperne di più, consulta Concedere ruoli nella console Google Cloud . Verifica che ogni utente disponga dei seguenti ruoli:
La funzionalità di personalizzazione del codice utilizza Developer Connect per accedere ai tuoi repository privati e indicizzarli. Assicurati che la regione Developer Connect in cui si trova la connessione al repository Developer Connect sia anche una località supportata per la personalizzazione del codice. La funzionalità di personalizzazione di codice non può essere utilizzata se la connessione Developer Connect si trova in una regione non supportata. Per l'elenco delle regioni supportate, consulta Limitazioni della personalizzazione del codice.
Scegliere i repository da indicizzare
Come best practice, dovresti indicizzare i repository che presentano le seguenti caratteristiche:
- Codice con uno stile o una struttura simili a quelli che vuoi che i tuoi sviluppatori scrivano.
- API o librerie private che vuoi chiamare dal codebase attuale.
(Facoltativo) Scegliere i file non indicizzati
Per impostazione predefinita, l'indicizzazione della personalizzazione del codice include tutti i file di codice supportati nei repository specificati.
Per evitare l'esposizione di codice che non vuoi indicizzare, puoi utilizzare i pattern dei rami per controllare l'accesso all'indice e utilizzare un ramo stabile, ad esempio main.
In alternativa, puoi anche escludere i file dall'indice
creando un file .aiexclude.
Configurare la personalizzazione del codice di Gemini Code Assist
Seleziona una delle seguenti opzioni:
Console
Nella console Google Cloud , vai alla pagina Personalizzazione del codice.
Vai a Personalizzazione di codice per Gemini Code Assist
Viene caricata la pagina Personalizzazione del codice per Gemini Code Assist.
Crea un indice. La personalizzazione del codice si basa su un indice per analizzare il repository al fine di fornire suggerimenti più rapidi per la generazione del codice e le ricerche.
Fai clic su Crea e configura i dettagli dell'indice:
- Seleziona la regione configurata in Developer Connect nel tuo progetto Google Cloud .
- Inserisci un nome per l'indice. Prendi nota del nome dell'indice. Ti servirà per diversi passaggi di questo documento.
Fai clic su Crea.
In genere, la creazione dell'indice richiede 30 minuti, ma potrebbe essere necessaria fino a un'ora. Al termine dell'indicizzazione, riceverai una notifica nella console Google Cloud .
Google limita il numero di indici del repository di codice a uno per ogni progetto e organizzazione.
Controlla l'accesso all'indice utilizzando i gruppi di repository.
Un gruppo di repository è un container per la configurazione di indicizzazione, che include i repository e i relativi pattern di rami. I gruppi di repository sono progettati per il controllo IAM granulare, che consente agli sviluppatori di accedere ai dati indicizzati di questi gruppi, se dispongono dell'autorizzazione
cloudaicompanion.repositoryGroups.use.I gruppi di repository contengono repository Developer Connect o link dello stesso progetto e della stessa località.
Nella pagina Personalizzazione del codice per Gemini Code Assist, fai clic su Aggiungi repository, quindi seleziona Aggiungi repository di origine.
Viene visualizzato un elenco dei repository esistenti in Developer Connect per la regione configurata nel passaggio precedente per creare l'indice.
Se devi aggiungere nuovi repository al gruppo di repository, fai clic su Collega repository e segui i passaggi nella console Google Cloud .
Inoltre, puoi selezionare e poi modificare uno o più repository per aggiungere un nuovo ramo.
Seleziona il gruppo di repository a cui vuoi aggiungere nuovi repository. In alternativa, fai clic su Crea un nuovo gruppo di repository per creare e configurare un nuovo gruppo di repository.
Per iniziare a indicizzare i repository selezionati, fai clic su Indice.
Il tempo di indicizzazione varia a seconda delle dimensioni dei repository.
Interfaccia a riga di comando
- Verifica di aver configurato Developer Connect e di aver effettuato la connessione al repository:
In un ambiente shell, esegui il comando
gcloud components updateper verificare di aver aggiornato tutti i componenti installati di gcloud CLI all'ultima versione. Per questo passaggio, puoi installare e inizializzare gcloud CLI oppure puoi utilizzare l'editor di Cloud Shell.gcloud components updateCrea un indice. La personalizzazione del codice si basa su un indice per analizzare il repository al fine di fornire suggerimenti più rapidi per la generazione del codice e le ricerche.
Per creare l'indice, in un ambiente shell, utilizza il comando
gemini code-repository-indexes create:gcloud gemini code-repository-indexes create INDEX_NAME \ --project=PROJECT_ID \ --location=REGIONSostituisci quanto segue:
INDEX_NAME: il nome dell'indice. Importante: Prendi nota del nome dell'indice. Ti servirà per diversi passaggi di questo documento.PROJECT_ID: il tuo ID progetto Google Cloud .REGION: la regione configurata in Developer Connect nel tuo progetto Google Cloud . Affinché i comandi vadano a buon fine, devi specificare una regione supportata.
In genere, la creazione dell'indice richiede 30 minuti, ma potrebbe essere necessaria fino a un'ora.
Google limita il numero di indici del repository di codice a uno per ogni progetto e organizzazione.
Controlla l'accesso all'indice utilizzando i gruppi di repository. Un gruppo di repository è un contenitore per la configurazione di indicizzazione, che include i repository e i relativi pattern di ramificazione. I gruppi di repository sono progettati per un controllo IAM granulare, che consente agli sviluppatori di accedere ai dati indicizzati di questi gruppi, per i quali dispongono dell'autorizzazione
cloudaicompanion.repositoryGroups.use.I gruppi di repository contengono repository Developer Connect o link dello stesso progetto e della stessa località.
Gli amministratori eseguono le seguenti azioni:
- Crea la risorsa Indice del repository di codice.
- Nello stesso progetto e nella stessa località, configura una nuova connessione Developer Connect.
- Collega i repository Git nella connessione.
- Recupera i nomi delle risorse dei link, scegli il pattern del ramo da indicizzare per ogni link e inseriscilo in uno o più gruppi di repository.
Per creare un gruppo di repository, in un ambiente shell, utilizza il comando
gemini code-repository-indexes repository-groups create:gcloud gemini code-repository-indexes repository-groups create REPOSITORY_GROUP \ --project=PROJECT_ID \ --location=REGION \ --code-repository-index=INDEX_NAME \ --repositories='[{"resource": "REPOSITORY_RESOURCE_NAME", "branchPattern": "BRANCH_NAMES"}]'Sostituisci quanto segue:
REPOSITORY_GROUP: il nome del gruppo di repository, ad esempiodefault.REPOSITORY_RESOURCE_NAME: il nome del repository all'interno della connessione Developer Connect. Per trovare il nome del repository, vai alla pagina Repository Git nella console Google Cloud e, nella scheda Repository, cerca l'ID connessione nella colonna Connessione della tabella. Per copiare il nome della risorsa, fai clic sul menu more_vert per altre opzioni e seleziona Copia percorso risorsa.BRANCH_NAMES: il nome dei rami che vuoi indicizzare, ad esempiomain|dev.
Puoi anche creare un gruppo di repository con repository definiti in un file JSON (o YAML), formattato come segue:
JSON
[ { "resource": "REPOSITORY_RESOURCE_NAME", "branchPattern": "main|dev" }, { "resource": "REPOSITORY_RESOURCE_NAME", "branchPattern": "dev" } ]YAML
- resource: REPOSITORY_RESOURCE_NAME branchPattern: main|dev - resource: REPOSITORY_RESOURCE_NAME branchPattern: devPer creare un gruppo di repository basato su un file JSON o YAML, in un ambiente shell, utilizza il comando
gemini code-repository-indexes repository-groups create:JSON
gcloud gemini code-repository-indexes repository-groups create REPOSITORY_GROUP \ --project=PROJECT_ID \ --location=REGION \ --code-repository-index=INDEX_NAME \ --repositories=FILEPATH.jsonYAML
gcloud gemini code-repository-indexes repository-groups create REPOSITORY_GROUP