Queste istruzioni sono destinate a sviluppatori di applicazioni, amministratori di piattaforme e responsabili della sicurezza che vogliono utilizzare i repository di codice sorgente GitLab con Google. In particolare, puoi utilizzare i repository GitLab 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 API.
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 API.
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 GitLab.
Per contribuire a proteggere il lavoro del tuo team, ti consigliamo di completare le attività di questa guida utilizzando un service account o un account condiviso dal tuo team, non un account personale.
- Assicurati di essere proprietario di un repository GitLab o di disporre delle autorizzazioni a livello di amministratore per un repository condiviso.
- (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.
Creare token di accesso
Per creare token di accesso in GitLab, completa i seguenti passaggi:
Segui le istruzioni nella documentazione di GitLab per creare token di accesso personale, token di accesso di gruppo o token di accesso al progetto con le seguenti autorizzazioni:
- Un token con ambito
apiper collegare e scollegare i repository. - Un token con ambito
read_apiper consentire a Developer Connect di leggere il codice sorgente nei tuoi repository. - Per i token di accesso al gruppo e al progetto, i token devono avere un ruolo di Maintainer o superiore.
- Un token con ambito
Crea una connessione
Questa sezione descrive come creare una connessione tra Developer Connect e GitLab. 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 GitLab, 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 Collega nella scheda GitLab.
Se vedi una tabella che elenca le connessioni esistenti: imposta il provider di gestione del codice sorgente facendo clic su Crea connessione > GitLab.
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 per il tuo account:
- Token di accesso API: inserisci il token di accesso con ambito
api. - Token di accesso alle API in lettura: inserisci il token di accesso con ambito
read_api.
È tua responsabilità assicurarti che i token GitLab rimangano validi. I token GitLab hanno una durata massima di 365 giorni, se non diversamente specificato dal creatore del token o da un amministratore. Per scoprire come gestire le impostazioni e le notifiche di scadenza dei token, consulta la documentazione di GitLab su token di accesso personale, token di accesso di gruppo e token di accesso al progetto.
- Token di accesso API: inserisci il token di accesso con ambito
Fai clic su Mostra altro per visualizzare le impostazioni di configurazione facoltative.
(Facoltativo) Nella sezione Crittografia, seleziona una chiave CMEK per crittografare i secret di Secret Manager creati da Developer Connect.
(Facoltativo) Per impostazione predefinita, Developer Connect può fungere da proxy per le chiamate Git a GitLab. Per disattivare questa opzione, deseleziona la casella di controllo Abilita proxy Developer Connect.
Fai clic su Continua.
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 API_SECRET_NAME echo -n API_SECRET_DATA | gcloud secrets versions add API_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:
- API_SECRET_NAME: un nome per il secret che archivia
il token con ambito
api. - API_SECRET_DATA: il token con ambito
api, simile aglpat-XXXXXXXXXXXXXXXX. - READ_SECRET_NAME: un nome per il secret che archivia
il token con ambito
read_api. - READ_SECRET_DATA: il token con ambito
read_api, simile aglpat-XXXXXXXXXXXXXXXX.
- API_SECRET_NAME: un nome per il secret che archivia
il token con ambito
Avvia una connessione al tuo account GitLab eseguendo il comando
developer-connect connections create:gcloud developer-connect connections create CONNECTION_NAME \ --location=REGION \ --gitlab-config-authorizer-credential-user-token-secret-version=projects/PROJECT_ID/secrets/API_SECRET_NAME/versions/VERSION \ --gitlab-config-read-authorizer-credential-user-token-secret-version=projects/PROJECT_ID/secrets/READ_SECRET_NAME/versions/VERSION \ --gitlab-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 per la connessione.
- PROJECT_NAME: il tuo Google Cloud ID progetto.
- API_SECRET_NAME: il nome del
secret di Secret Manager che contiene il token
con ambito
api. - READ_SECRET_NAME: il nome del
secret di Secret Manager che contiene il token
con ambito
read_api. - 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 GitLab. Questa funzionalità è in anteprima.
Developer Connect completa la connessione a GitLab. Successivamente, collega i repository.
Collegare i repository utilizzando una connessione esistente
Una volta stabilita una connessione a GitLab, 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 in una connessione GitLab 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.
Developer Connect mostra i nomi suggeriti per le risorse del repository.
Seleziona un'opzione di denominazione delle risorse del repository:
- Generato: utilizza i nomi delle risorse repository generati.
- Manuale: inserisci i nomi che preferisci.
Fai clic su Crea.
Developer Connect crea i link ai repository e li visualizza nella console Google Cloud .
gcloud
Collega un repository GitLab eseguendo il seguente comando:
gcloud developer-connect connections git-repository-links create REPO_NAME \
--clone-uri=REPO_URI \
--connection=CONNECTION_NAME \
--location=REGION
Sostituisci quanto segue:
- REPO_NAME: il nome del link al repository.
- REPO_URI: il link al tuo repository, simile
a
https://gitlab.com/my-project/test-repo.git. - CONNECTION_NAME: il nome della connessione.
- 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-links list.
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.