Queste istruzioni sono destinate a sviluppatori di applicazioni, amministratori di piattaforme e responsabili della sicurezza che vogliono utilizzare i repository di codice sorgente GitHub Enterprise con Google. In particolare, puoi utilizzare i repository GitHub Enterprise 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 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 GitHub Enterprise.
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 GitHub Enterprise o di avere autorizzazioni a livello di amministratore su un repository condiviso.
Quando utilizzi un repository in un'organizzazione GitHub Enterprise, assicurati di disporre delle autorizzazioni di amministratore dell'app GitHub.
- 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.
Concedi le autorizzazioni IAM richieste
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 alla 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 le implementazioni ibride .
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 regionale con connettività ibrida.
Crea una connessione
Questa sezione descrive come creare una connessione tra Developer Connect e GitHub Enterprise. 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 GitHub Enterprise, seleziona una delle seguenti opzioni:
Console
Avvia una connessione completando i seguenti passaggi:
Nella Google Cloud console, apri Developer Connect.
Developer Connect mostra 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 GitHub Enterprise.
Se vedi una tabella che elenca le connessioni esistenti: imposta il provider di gestione del codice sorgente facendo clic su Crea connessione > GitHub Enterprise.
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.
Attiva la casella di controllo Abilita una connessione conforme alla residenza dei dati per rendere questa connessione conforme ai requisiti di residenza dei dati.
Le connessioni GitHub create utilizzando la Google Cloud console sono conformi alla residenza dei dati se attivi questa casella di controllo quando crei la connessione. In questo caso, Developer Connect crea un'app GitHub.
Quando crei connessioni GitHub utilizzando Google Cloud CLI, queste connessioni non sono conformi alla residenza dei dati. Tutti gli altri tipi di connessione sono conformi alla residenza dei dati.
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 GitHub Enterprise.
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 posizione 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 su Continua.
Viene visualizzata una finestra di dialogo di GitHub che ti invita a creare un'app GitHub.
Segui le istruzioni di GitHub e completa queste attività:
Inserisci un nome per l'app.
Scegli l'organizzazione in cui vuoi installare l'app.
Seleziona i repository a cui vuoi concedere l'accesso.
La finestra di dialogo si chiude.
Developer Connect recupera la chiave privata da GitHub e la archivia nel Google Cloud progetto come secret di Secret Manager. Per visualizzare i secret, elencali in Secret Manager.
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
Le seguenti attività richiedono alcune azioni nel browser web.
Esegui il
gcloud developer-connect connections createcomando per creare una connessione a GitHub Enterprise:gcloud developer-connect connections create CONNECTION_NAME \ --location=REGION \ --project=PROJECT_ID \ --github-enterprise-config-host-uri=HOST_URI --github-enterprise-config-service-directory=SERVICE_DIRECTORY_RESOURCE --git-proxy-config-enabledSostituisci quanto segue:
- CONNECTION_NAME: il nome della connessione.
- REGION: la regione della connessione.
- HOST_URI: l'URI dell'host a cui vuoi connetterti.
- SERVICE_DIRECTORY_RESOURCE: il percorso della risorsa Service Directory, nel formato
projects/PROJECT_ID/locations/REGION/namespaces/NAMESPACE/services/SERVICE. --git-proxy-config-enabledè un flag facoltativo che consente a Developer Connect di fungere da proxy per le chiamate Git a GitHub Enterprise. Devi abilitare questa funzionalità quando esegui la personalizzazione del codice di Gemini Code Assist sui repository di codice sorgente GitHub Enterprise 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.
Devi creare un'app GitHub per gestire le connessioni con GitHub. Esegui il comando seguente per ottenere l'URI per la configurazione dell'app:
gcloud developer-connect connections describe CONNECTION_NAME \ --location=REGIONSostituisci quanto segue:
- CONNECTION_NAME: il nome della connessione.
- REGION: la regione della connessione.
Developer Connect restituisce un link per completare i passaggi successivi in una finestra del browser. Copia questo link.
Apri il link in un browser web.
Accedi al tuo account GitHub se ti viene richiesto.
Segui le istruzioni di GitHub e completa queste attività:
Inserisci un nome per l'app.
Scegli l'organizzazione in cui vuoi installare l'app.
Seleziona i repository a cui vuoi concedere l'accesso.
La finestra di dialogo si chiude.
Developer Connect recupera la chiave privata da GitHub e la archivia nel Google Cloud progetto come secret di Secret Manager. Per visualizzare i secret, elencali in Secret Manager.
Verificare la connessione
Verifica la creazione della connessione GitHub eseguendo il comando seguente:
gcloud developer-connect connections describe CONNECTION_NAME \
--location=REGION
Dove:
- CONNECTION_NAME: il nome della connessione.
- REGION: la regione della connessione.
Developer Connect restituisce uno stato nel campo installationState. Se il valore di questo campo è COMPLETE, l'installazione dell'app è terminata.
In caso contrario, Developer Connect restituisce un URI per tornare alla configurazione nel browser.
Una volta completata la connessione, scegli i repository da collegare seguendo le istruzioni riportate in Collegare i repository.
Aggiungi link ai repository alle connessioni esistenti
Dopo aver stabilito una connessione a GitHub Enterprise, puoi collegarti ai repository. Puoi ripetere questi passaggi in un secondo momento per collegare altri repository, se necessario.
Per creare link ai repository su una connessione GitHub Enterprise esistente, seleziona una delle seguenti opzioni:
Console
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
Esegui questo 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: un nome per il link al repository.
- REPO_URI: il link al repository.
Ad esempio,
https://github.com/cloud-build/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
developer-connect connections git-repository-links list 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.
Condivisione dei dati
I contenuti delle risorse collegate a questa connessione potrebbero essere trasferiti a GitHub. Google Cloud Questa affermazione si applica a tutte le risorse esistenti e future che utilizzano questa connessione. Per interrompere la condivisione delle informazioni con GitHub, elimina le connessioni Developer Connect nella console o in gcloud CLI e revoca l'accesso in GitHub. Google Cloud
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.