Diese Anleitung richtet sich an Anwendungsentwickler, Plattformadministratoren und Sicherheitsmanager, die GitHub Enterprise-Quellcode-Repositories mit Google verwenden möchten. Insbesondere können Sie GitHub Enterprise-Repositories mit Gemini Code Assist verwenden.
Weitere Informationen zu Developer Connect finden Sie unter Developer Connect – Übersicht.
Hinweis
-
Melden Sie sich bei Ihrem Google-Konto an.
Wenn Sie noch kein Konto haben, melden Sie sich hier für ein neues Konto an.
-
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.-
Achten Sie darauf, dass Sie Zugriff auf ein Konto bei GitHub Enterprise. haben.
Um die Arbeit Ihres Teams zu schützen, empfehlen wir, die Aufgaben in dieser Anleitung mit einem Bot-Konto oder einem von Ihrem Team gemeinsam genutzten Konto auszuführen und nicht mit einem persönlichen Konto.
- Achten Sie darauf, dass Sie Inhaber eines GitHub Enterprise-Repositorys sind oder Administratorberechtigungen für ein freigegebenes Repository haben.
Wenn Sie ein Repository in einer GitHub Enterprise-Organisation verwenden, achten Sie darauf, dass Sie die Berechtigungen eines GitHub App-Managers haben.
- Achten Sie darauf, dass Sie eine Service Directory-Diensteressource für
die Verbindung zu privaten Netzwerken haben, oder
erstellen Sie eine
Service Directory-Diensteressource. Sie können die Service Directory-Diensteressource im selben Projekt erstellen, das Sie mit Developer Connect verwenden, oder ein anderes Projekt verwenden.
Für Verbindungen zu Netzwerken außerhalb von Google Cloud, müssen Sie Service Directory möglicherweise anders konfigurieren. Weitere Informationen finden Sie unter Service Directory verwenden, um Hosts außerhalb von Google Cloud zu erreichen.
- Optional: Erstellen Sie einen vom Kunden verwalteten Verschlüsselungsschlüssel (Customer-Managed Encryption Key, CMEK) zum Verschlüsseln der Authentifizierungs-Secrets, die von Developer Connect erstellt werden.
- Optional: Wenn Sie die Befehlszeilenanweisungen in dieser Anleitung verwenden möchten, führen Sie die folgenden Schritte aus:
- Installieren Sie die Google Cloud CLI. Wenn Sie die gcloud CLI bereits installiert haben, prüfen Sie, ob Sie die neueste verfügbare Version nutzen. Führen Sie dazu
gcloud components updateaus. - Erstellen Sie ein Developer Connect-Dienstkonto
mit dem folgenden Befehl. Dabei ist PROJECT_ID Ihre Google Cloud Projekt-ID:
gcloud beta services identity create \ --service=developerconnect.googleapis.com \ --project=PROJECT_ID
- Installieren Sie die Google Cloud CLI. Wenn Sie die gcloud CLI bereits installiert haben, prüfen Sie, ob Sie die neueste verfügbare Version nutzen. Führen Sie dazu
Durch das Aktivieren von Developer Connect wird auch die Secret Manager API aktiviert.
Erforderliche IAM-Berechtigungen gewähren
Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Erstellen von Verbindungen und Links benötigen:
-
Wenn Sie nicht der Projektinhaber sind:
Developer Connect-Administrator (
roles/developerconnect.admin) für Ihr Nutzerkonto. -
Wenn Sie einen CMEK zum Verschlüsseln der von Developer Connect erstellten Secrets verwenden möchten:
Cloud KMS CryptoKey-Verschlüsseler/Entschlüsseler (
roles/cloudkms.cryptoKeyEncrypterDecrypter) für das Secret Manager-Dienstkonto. -
Wenn Sie die gcloud CLI verwenden möchten, um die Schritte in dieser Anleitung auszuführen:
Secret Manager-Administratorrolle (
roles/secretmanager.admin) für das Developer Connect-Dienstkonto. -
Wenn Sie die Google Cloud Console verwenden möchten, um die Schritte in dieser Anleitung auszuführen:
Projekt-IAM-Administrator (
roles/resourcemanager.projectIamAdmin) für Ihr Nutzerkonto.
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.
Berechtigungen zur Verwendung von Service Directory gewähren
Führen Sie die folgenden Schritte aus, damit Developer Connect Service Directory verwenden kann und Service Directory auf Ihre VPC-Netzwerkressource zugreifen kann.
Gewähren Sie dem Developer Connect-Dienstkonto die Berechtigung zur Verwendung von Service Directory, indem Sie die folgenden Befehle ausführen:
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"Ersetzen Sie Folgendes:
- PROJECT_ID: Ihre Google Cloud Projekt-ID.
- SERVICE_DIRECTORY_RESOURCE_PROJECT_ID: die Projekt-ID für das Google Cloud Projekt, das Ihre Service Directory-Diensteressource enthält.
Gewähren Sie Service Directory die Berechtigung, auf Ihre VPC-Netzwerkressource zuzugreifen. Die Netzwerkressource kann sich in einem anderen Projekt befinden.
gcloud projects add-iam-policy-binding NETWORK_RESOURCE_PROJECT_ID \ --member="serviceAccount:${SERVICE_ACCOUNT}" \ --role="roles/servicedirectory.pscAuthorizedService"Ersetzen Sie NETWORK_RESOURCE_PROJECT_ID durch die Projekt ID für das Projekt, das Ihre VPC-Netzwerkressource enthält.
Service Directory verwenden, um Hosts außerhalb von zu erreichen Google Cloud
Service Directory verwendet den IP-Adressbereich 35.199.192.0/19, um
eine Verbindung zu Ihrem Host außerhalb von herzustellen Google Cloud. Sie müssen diesen Bereich einer Zulassungsliste in Ihrer Firewall hinzufügen. Außerdem muss Ihr privates Netzwerk so konfiguriert sein, dass dieser Bereich über die Cloud VPN- oder Cloud Interconnect-Verbindung weitergeleitet wird.
Weitere Informationen finden Sie unter Privaten Netzwerkzugriff konfigurieren.
Cloud Load Balancing verwenden, um Hosts außerhalb von zu erreichen Google Cloud
Wenn Ihre Netzwerkkonfiguration es nicht zulässt, den
Service Directory-IP-Adressbereich 35.199.192.0/19 an die
Cloud VPN oder Cloud Interconnect weiterzuleiten, können Sie
einen Load-Balancer erstellen mit
Cloud Load Balancing, der Traffic an Ihren Host weiterleitet.
Wenn Sie den Service Directory-Endpunkt erstellen, verwenden Sie die IP-Adresse der Weiterleitungsregel des Load-Balancers anstelle der IP-Adresse Ihres Hosts. Sie können beim Erstellen des Endpunkts einen internen HTTPS-Load-Balancer oder einen internen TCP-Load-Balancer (Transmission Control Protocol) verwenden.
Beachten Sie beim Erstellen des TCP-Load-Balancers Folgendes:
- Um Ihren Host zu erreichen, ist nur eine Netzwerk-Endpunktgruppe (NEG) mit Hybridkonnektivität erforderlich.
- Für den TCP-Load-Balancer ist der unverschlüsselte private Schlüssel für Ihr SSL-Zertifikat nicht erforderlich.
- Für Ihre Cloud VPN-Einrichtung muss Cloud Router mit globalem dynamischem Routing verwendet werden. Wenn Ihr Cloud VPN statisches Routing verwendet, können Sie stattdessen einen Proxy verwenden, der Cloud Service Mesh nutzt. Weitere Informationen finden Sie unter Netzwerk- Edge-Dienste für Hybrid- Bereitstellungen einrichten.
Weitere Informationen zum Erstellen eines HTTPS-Load-Balancers finden Sie unter Internen Application Load Balancer mit Hybridkonnektivität einrichten. Weitere Informationen zum Erstellen eines TCP-Load-Balancers finden Sie unter Regionalen internen Proxy-Network Load Balancer mit Hybridkonnektivität einrichten.
Verbindung herstellen
In diesem Abschnitt wird beschrieben, wie Sie eine Verbindung zwischen Developer Connect und GitHub Enterprise herstellen. Wenn Sie die Google Cloud Console verwenden, können Sie auch Links zu Repositories hinzufügen, sobald Sie die Einrichtung der Verbindung abgeschlossen haben.
Wählen Sie eine der folgenden Optionen aus, um eine neue GitHub Enterprise-Verbindung zu erstellen:
Console
So stellen Sie eine Verbindung her:
Öffnen Sie in der Google Cloud Console Developer Connect.
In Developer Connect wird die Seite Git-Repositories angezeigt.
- Wenn eine Liste von Quellcode-Verwaltungsanbietern angezeigt wird: Starten Sie die Konfiguration Ihrer ersten Verbindung, indem Sie einen Quellcode- Verwaltungsanbieter auswählen. Klicken Sie auf der GitHub Enterprise-Karte auf Verbinden.
Wenn eine Tabelle mit vorhandenen Verbindungen angezeigt wird: Legen Sie den Quellcode Verwaltungsanbieter fest, indem Sie auf Verbindung erstellen > GitHub Enterprise klicken.
Die Seite Verbindung erstellen wird geöffnet.
Wählen Sie unter Region eine Region für Ihre Verbindungsressourcen aus.
- Geben Sie unter Name einen Namen für die neue Verbindung ein.
Aktivieren Sie das Kästchen Datenstandortkonforme Verbindung aktivieren um diese Verbindung mit den Anforderungen an den Datenstandort kompatibel zu machen.
GitHub-Verbindungen, die mit der Google Cloud Console erstellt wurden, sind datenstandortkonform, wenn Sie dieses Kästchen beim Erstellen der Verbindung aktivieren. In diesem Fall erstellt Developer Connect eine GitHub-Anwendung.
Wenn Sie GitHub-Verbindungen mit der Google Cloud CLI erstellen, sind diese Verbindungen nicht datenstandortkonform. Alle anderen Verbindungstypen sind datenstandortkonform.
Geben Sie unter Host-URL die URL des Hosts ein, mit dem Sie eine Verbindung herstellen möchten.
Klicken Sie auf Mehr anzeigen , um optionale Konfigurationseinstellungen aufzurufen.
Das Kästchen Developer Connect-Proxy aktivieren ist standardmäßig ausgewählt, sodass Developer Connect als Proxy für Git-Aufrufe an GitHub Enterprise fungieren kann.
Wählen Sie im Abschnitt Netzwerk unter Netzwerktyp die Option Privates Netzwerk aus.
Klicken Sie unter CA-Zertifikat auf Durchsuchen, um Ihr selbst signiertes Zertifikat hochzuladen.
Ihr Zertifikat darf nicht größer als 10 KB sein und muss im PEM-Format vorliegen (.pem, .cer oder .crt). Wenn dieser Abschnitt leer bleibt, wird stattdessen ein Standardsatz von Zertifikaten verwendet.
Wählen Sie im Abschnitt Service Directory-Dienst den Standort Ihres Dienstes aus:
- In Projekt
your-project - In einem anderen Projekt
- Selbst eingeben
Wenn Sie In einem anderen Projekt oder Selbst eingeben auswählen, geben Sie Ihre Google Cloud Projekt-ID an. Wählen Sie das Projekt im Drop-down-Menü aus oder geben Sie die Projekt-ID manuell ein.
- In Projekt
Region: Wählen Sie die Region Ihres Service Directory-Dienstes aus. Die für Ihren Dienst angegebene Region muss mit der Region übereinstimmen, die Ihrer Verbindung zugeordnet ist.
Namespace: Wählen Sie den Namespace Ihres Service Directory-Dienstes aus.
Dienst: Wählen Sie den Namen des Service Directory-Dienstes in Ihrem Namespace aus.
Optional: Wählen Sie im Abschnitt Verschlüsselung einen CMEK-Schlüssel aus, um Secret Manager-Secrets zu verschlüsseln, die von Developer Connect erstellt werden.
Klicken Sie auf Weiter.
Ein GitHub-Dialogfeld wird angezeigt, in dem Sie aufgefordert werden, eine GitHub-Anwendung zu erstellen.
Folgen Sie der Anleitung in GitHub, um diese Aufgaben auszuführen:
Geben Sie einen Namen für die Anwendung ein.
Wählen Sie die Organisation aus, in der Sie die Anwendung installieren möchten.
Wählen Sie die Repositories aus, für die Sie Zugriff gewähren möchten.
Das Dialogfeld wird geschlossen.
Developer Connect ruft Ihren privaten Schlüssel von GitHub ab und speichert ihn in Ihrem Google Cloud Projekt als Secret Manager Secret. Wenn Sie Ihre Secrets aufrufen möchten, listen Sie sie in Secret Manager auf.
Sobald die Verbindung hergestellt ist, wird die Seite Repositories verknüpfen angezeigt.
Führen Sie die folgenden Schritte aus, um Repositories mit Ihrer Verbindung zu verknüpfen:
Wählen Sie in der Liste der verfügbaren Repositories die Repositories aus, die Sie verwenden möchten.
Klicken Sie auf OK.
Klicken Sie auf Verknüpfen.
Ihre Verbindung wird der Seite Verbindungen und Ihre Repository Links werden der Seite Repositories in der Google Cloud Console hinzugefügt. Sie können jederzeit weitere Links zu vorhandenen Verbindungen hinzufügen.
Wenn Sie Gemini Code Assist einrichten, fahren Sie mit dem Prozess fort, indem Sie die Schritte unter Codeanpassung für Gemini Code Assist konfigurieren und verwendenbefolgen.
gcloud
Für die folgenden Aufgaben sind einige Aktionen in Ihrem Webbrowser erforderlich.
Führen Sie den
gcloud developer-connect connections createBefehl aus, um eine Verbindung zu GitHub Enterprise herzustellen: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-enabledErsetzen Sie Folgendes:
- CONNECTION_NAME: der Name Ihrer Verbindung.
- REGION: die Region für Ihre Verbindung.
- HOST_URI: der URI für den Host, mit dem Sie eine Verbindung herstellen möchten.
- SERVICE_DIRECTORY_RESOURCE: der Pfad zu Ihrer
Service Directory-Ressource im Format
projects/PROJECT_ID/locations/REGION/namespaces/NAMESPACE/services/SERVICE. --git-proxy-config-enabledist ein optionales Flag, mit dem Developer Connect als Proxy für Git-Aufrufe an GitHub Enterprise fungieren kann. Sie müssen diese Funktion aktivieren, wenn Sie die Codeanpassung für Gemini Code Assist für GitHub Enterprise-Quellcode-Repositories ausführen, die in privaten Netzwerken gehostet werden.--github-enterprise-config-ssl-ca-certificateist ein optionales Flag zum Hinzufügen eines SSL-Zertifikats im Format$HOME/my-ssl-ca.txt.
Sie müssen eine GitHub-Anwendung erstellen, um Verbindungen mit GitHub zu verwalten. Führen Sie den folgenden Befehl aus, um den URI für die Einrichtung der Anwendung abzurufen:
gcloud developer-connect connections describe CONNECTION_NAME \ --location=REGIONErsetzen Sie Folgendes:
- CONNECTION_NAME: der Name Ihrer Verbindung.
- REGION: die Region für Ihre Verbindung.
Developer Connect gibt einen Link zurück, über den Sie die nächsten Schritte in einem Browserfenster ausführen können. Kopieren Sie den Link.
Öffnen Sie den Link in einem Webbrowser.
Melden Sie sich bei Aufforderung in Ihrem GitHub-Konto an.
Folgen Sie der Anleitung in GitHub, um diese Aufgaben auszuführen:
Geben Sie einen Namen für die Anwendung ein.
Wählen Sie die Organisation aus, in der Sie die Anwendung installieren möchten.
Wählen Sie die Repositories aus, für die Sie Zugriff gewähren möchten.
Das Dialogfeld wird geschlossen.
Developer Connect ruft Ihren privaten Schlüssel von GitHub ab und speichert ihn in Ihrem Google Cloud Projekt als Secret Manager Secret. Wenn Sie Ihre Secrets aufrufen möchten, listen Sie sie in Secret Manager auf.
Verbindung prüfen
Prüfen Sie die Erstellung Ihrer GitHub-Verbindung mit dem folgenden Befehl:
gcloud developer-connect connections describe CONNECTION_NAME \
--location=REGION
Wobei:
- CONNECTION_NAME: der Name Ihrer Verbindung.
- REGION: die Region für Ihre Verbindung.
Developer Connect gibt einen Status im Feld installationState zurück. Wenn der Wert dieses Felds COMPLETE ist, ist die Installation der Anwendung abgeschlossen.
Andernfalls gibt Developer Connect einen URI zurück, über den Sie zur Konfiguration im Browser zurückkehren können.
Nachdem die Verbindung hergestellt wurde, wählen Sie die zu verknüpfenden Repositories aus. Folgen Sie dazu der Anleitung unter Mit Repositories verknüpfen.
Repository-Links zu vorhandenen Verbindungen hinzufügen
Sobald Sie eine Verbindung zu GitHub Enterprise hergestellt haben, können Sie eine Verknüpfung zu Repositories herstellen. Sie können diese Schritte später wiederholen, um nach Bedarf weitere Repositories zu verknüpfen.
Wählen Sie eine der folgenden Optionen aus, um Repository-Links für eine vorhandene GitHub Enterprise-Verbindung zu erstellen:
Console
Öffnen Sie in der Google Cloud console die Seite Repositories.
Klicken Sie auf Repository verknüpfen.
Der Bereich Git-Repositories verknüpfen wird geöffnet.
Wählen Sie in der Liste der Verbindungen eine Verbindung aus.
Klicken Sie auf Weiter.
Wählen Sie in der Liste der Repositories die Repositories aus, mit denen Sie eine Verknüpfung herstellen möchten.
Klicken Sie auf Erstellen.
Developer Connect erstellt die Repository-Links und zeigt sie in der Google Cloud Console an.
gcloud
Führen Sie dazu diesen Befehl aus:
gcloud developer-connect connections git-repository-links create REPO_NAME \
--clone-uri=REPO_URI \
--connection=CONNECTION_NAME \
--location=REGION
Ersetzen Sie Folgendes:
- REPO_NAME: ein Name für Ihren Repository-Link.
- REPO_URI: der Link zu Ihrem Repository.
Beispiel:
https://github.com/cloud-build/test-repo.git. - CONNECTION_NAME: der Name Ihrer Verbindung.
- REGION: die Region für Ihre Verbindung.
Developer Connect erstellt die Repository-Links.
Führen Sie den
developer-connect connections git-repository-links list Befehl aus, um verknüpfte Repositories aufzulisten.
Wenn Sie Gemini Code Assist einrichten, fahren Sie mit dem Prozess fort, indem Sie die Schritte unter Codeanpassung für Gemini Code Assist konfigurieren und verwendenbefolgen.
Datenfreigabe
Inhalte von Google Cloud Ressourcen, die mit dieser Verbindung verknüpft sind, werden möglicherweise an GitHub übertragen. Diese Aussage gilt für alle vorhandenen und zukünftigen Ressourcen, die diese Verbindung nutzen. Wenn Sie keine Informationen mehr mit GitHub teilen möchten, löschen Sie Developer Connect-Verbindungen in der Google Cloud Console oder der gcloud CLI und widerrufen Sie den Zugriff in GitHub.
Nächste Schritte
- Richten Sie die Codeanpassung für Gemini Code Assist ein.
- Informationen dazu, wie Gemini Code Assist Sie bei der Beschleunigung der Softwareentwicklung unterstützt.
- Weitere Integrationen, die über Developer Connect verfügbar sind.