Diese Anleitung richtet sich an Anwendungsentwickler, Plattformadministratoren und Sicherheitsmanager, die GitLab Enterprise-Quellcode-Repositories mit Google verwenden möchten. Insbesondere können Sie GitLab 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 in GitLab Enterprise. haben.
Um die Arbeit Ihres Teams zu schützen, empfehlen wir, die Aufgaben in dieser Anleitung mit einem Dienstkonto oder einem von Ihrem Team gemeinsam genutzten Konto auszuführen und nicht einem persönlichen Konto.
- Achten Sie darauf, dass Sie Inhaber eines GitLab Enterprise-Repositorys sind oder Administratorberechtigungen für ein freigegebenes Repository haben.
- Achten Sie darauf, dass Sie eine Service Directory-Dienstressource haben, um
eine Verbindung zu privaten Netzwerken herzustellen, oder
erstellen Sie eine
Service Directory-Dienstressource. Sie können die Service Directory-Dienstressource 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
indem Sie den folgenden Befehl ausführen. 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
Wenn Sie Developer Connect aktivieren, wird auch die Secret Manager API aktiviert.
Hostanforderungen
Wenn Sie keine GitLab Enterprise Edition Server-Instanz installiert haben, finden Sie in der Installationsanleitung von GitLab Enterprise Edition eine Anleitung.
Beachten Sie beim Ausführen der Anleitung zum Installieren einer GitLab Enterprise Edition Server-Instanz Folgendes:
Sie müssen Ihren Host so konfigurieren, dass er das
HTTPS-Protokoll verarbeitet. Hosts, die mit demHTTP-Protokoll konfiguriert sind, werden nicht unterstützt.Sie müssen Ihren Host mit derselben URL konfigurieren, die verwendet wird, um Ihren Host von Google Cloudaus zu erreichen. Weitere Informationen finden Sie in der GitLab-Dokumentation zum Konfigurieren der externen URL.
Erforderliche Rollen
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 Berechtigungen 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: Projekt-ID in Google Cloud .
- SERVICE_DIRECTORY_RESOURCE_PROJECT_ID: die Projekt-ID für das Google Cloud Projekt, das Ihre Service Directory-Dienstressource enthält.
Gewähren Sie Service Directory Berechtigungen für den Zugriff auf Ihre VPC-Netzwerkressource. 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:
- Es ist nur eine Netzwerk-Endpunktgruppe (NEG) mit Hybridkonnektivität erforderlich, um Ihren Host zu erreichen.
- 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 verwendet. 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.
Zugriffstokens erstellen
So erstellen Sie Zugriffstokens in GitLab:
Folgen Sie der Anleitung in der GitLab-Dokumentation, um persönliche Zugriffstokens, Gruppenzugriffstokens, oder Projektzugriffstokens mit den folgenden Berechtigungen zu erstellen:
- Ein Token mit dem Bereich
apizum Verbinden und Trennen von Repositories. - Ein Token mit dem Bereich
read_api, damit Developer Connect Quellcode in Ihren Repositories lesen kann. - Für Gruppenzugriffstokens und Projektzugriffstokens müssen die Tokens die Rolle „Maintainer“ oder höher haben.
- Ein Token mit dem Bereich
Verbindung herstellen
In diesem Abschnitt wird beschrieben, wie Sie eine Verbindung zwischen Developer Connect und GitLab Enterprise herstellen. Wenn Sie die Google Cloud Console verwenden, können Sie auch Links zu Repositories hinzufügen, sobald Sie die Einrichtung Ihrer Verbindung abgeschlossen haben.
Wählen Sie eine der folgenden Optionen aus, um eine neue GitLab 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 GitLab Enterprise-Karte auf Verbinden.
Wenn eine Tabelle mit vorhandenen Verbindungen angezeigt wird: Legen Sie den Quellcode Verwaltungsanbieter fest, indem Sie auf Verbindung erstellen > GitLab 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.
Geben Sie im Abschnitt Zugriffstokens die Tokens für Ihr Konto ein:
- API-Zugriffstoken: Geben Sie das Zugriffstoken mit dem Bereich
apiein. - API-Zugriffstoken mit Leseberechtigung: Geben Sie das Zugriffstoken mit dem Bereich
read_apiein.
Sie sind dafür verantwortlich, dass Ihre GitLab-Tokens gültig bleiben. GitLab-Tokens haben eine maximale Lebensdauer von 365 Tagen, sofern vom Token-Ersteller oder einem Administrator nichts anderes angegeben wurde. Informationen zum Verwalten der Einstellungen für den Ablauf von Tokens und Benachrichtigungen finden Sie in der GitLab-Dokumentation zu persönlichen Zugriffstokens, Gruppenzugriffstokens und Projektzugriffstokens.
- API-Zugriffstoken: Geben Sie das Zugriffstoken mit dem Bereich
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, damit Developer Connect als Proxy für Git-Aufrufe an GitLab 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.
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 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
Erstellen Sie ein Webhook-Secret in Secret Manager, indem Sie den folgenden Befehl ausführen. Dabei ist WEBHOOK_SECRET_NAME ein Name für Ihr Webhook-Secret:
cat /proc/sys/kernel/random/uuid | tr -d '\n' | gcloud secrets create WEBHOOK_SECRET_NAMESpeichern Sie Ihre Zugriffstokens in Secret Manager, indem Sie die folgenden Befehle ausführen:
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=-Ersetzen Sie Folgendes:
- API_SECRET_NAME: Ein Name für das Secret, in dem
das Token mit dem Bereich
apigespeichert ist. - API_SECRET_DATA: Das Token mit dem
apiBereich, ähnlich wieglpat-XXXXXXXXXXXXXXXX. - READ_SECRET_NAME: Ein Name für das Secret, in dem
das Token mit dem Bereich
read_apigespeichert ist. - READ_SECRET_DATA: Das Token mit dem Bereich
read_api, ähnlich wieglpat-XXXXXXXXXXXXXXXX.
- API_SECRET_NAME: Ein Name für das Secret, in dem
das Token mit dem Bereich
Führen Sie den Befehl `gcloud developer-connect connections create` aus, um eine Verbindung zu GitLab Enterprise herzustellen:
gcloud beta developer-connect connections create CONNECTION_NAME \ --location=REGION \ --gitlab-config-read-authorizer-credential-user-token-secret-version=projects/PROJECT_ID/secrets/READ_SECRET_NAME/versions/VERSION \ --gitlab-config-authorizer-credential-user-token-secret-version=projects/PROJECT_ID/secrets/API_SECRET_NAME/versions/VERSION \ --gitlab-enterprise-config-host-uri=HOST_URI --gitlab-enterprise-config-webhook-secret-version=projects/PROJECT_ID/secrets/WEBHOOK_SECRET_NAME/versions/VERSION --git-proxy-config-enabledErsetzen Sie Folgendes:
- CONNECTION_NAME: Der Name Ihrer Verbindung.
- REGION: Die Region für Ihre Verbindung.
- PROJECT_ID: Ihre Google Cloud Projekt-ID.
- READ_SECRET_NAME: Der Name des
Secret Manager-Secrets, das das Token
mit
read_apiBereich enthält. - API_SECRET_NAME: Der Name des
Secret Manager-Secrets, das das Token
mit
apiBereich enthält. - VERSION: Die Versionsnummer jedes Secrets. Sie können
latestverwenden, um die neueste Versionsnummer zu verwenden. - HOST_URI: Der URI für den Host, mit dem Sie eine Verbindung herstellen möchten.
- WEBHOOK_SECRET_NAME: Der Name des Secret Manager-Secrets, das Ihr Webhook Secret enthält.
--git-proxy-config-enabledist ein optionales Flag, mit dem Developer Connect als Proxy für Git-Aufrufe an GitLab Enterprise fungieren kann. Sie müssen diese Funktion aktivieren, wenn Sie die Codeanpassung von Gemini Code Assist für GitLab Enterprise-Quellcode-Repositories ausführen, die in privaten Netzwerken gehostet werden.--gitlab-enterprise-config-ssl-ca-certificateist ein optionales Flag zum Hinzufügen eines SSL-Zertifikats im Format$HOME/my-ssl-ca.txt.
Developer Connect stellt die Verbindung zu GitLab her. Verknüpfen Sie als Nächstes Repositories.
Repositories über eine vorhandene Verbindung verknüpfen
Sobald Sie eine Verbindung zu GitLab Enterprise hergestellt haben, können Sie Repositories verknüpfen. Sie können diese Schritte später wiederholen, um bei Bedarf weitere Repositories zu verknüpfen.
Wählen Sie eine der folgenden Optionen aus, um Repository-Links für eine vorhandene GitLab Enterprise-Verbindung zu erstellen:
Console
So erstellen Sie Links zu Repositories:
Ö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.
Developer Connect zeigt Vorschläge für die Namen Ihrer Repository-Ressourcen an.
Wählen Sie eine Option für die Benennung von Repository-Ressourcen aus:
- Generiert: Verwenden Sie die generierten Namen für Repository-Ressourcen.
- Manuell: Geben Sie eigene Namen ein.
Klicken Sie auf Erstellen.
Developer Connect erstellt die Repository-Links und zeigt sie in der Google Cloud Console an.
gcloud
Führen Sie den folgenden Befehl aus, um eine Verknüpfung zu einem GitLab-Repository herzustellen:
gcloud beta developer-connect connections git-repository-links create REPO_NAME \
--clone-uri=REPO_URI \
--connection=CONNECTION_NAME \
--location=REGION
Ersetzen Sie Folgendes:
- REPO_NAME: Der Name für Ihren Repository-Link.
- REPO_URI: Der Link zu Ihrem Repository, ähnlich
wie
https://gitlab.com/my-project/test-repo.git. - CONNECTION_NAME: Der Name Ihrer Verbindung.
- REGION: Die Region Ihrer 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.
Nächste Schritte
- Richten Sie die Codeanpassung für Gemini Code Assist ein.
- Informationen dazu, wie Gemini Code Assist Sie bei der Softwareentwicklung unterstützen kann.
- Weitere Integrationen, die über Developer Connect verfügbar sind.