Diese Anleitung richtet sich an Anwendungsentwickler, Plattformadministratoren und Sicherheitsmanager, die GitLab Enterprise-Quellcode-Repositories mit Google verwenden möchten. Sie können insbesondere GitLab Enterprise-Repositories mit Gemini Code Assist verwenden.
Weitere Informationen zu Developer Connect finden Sie in der 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, Secret Manager, and Service Directory APIs.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). 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, Secret Manager, and Service Directory APIs.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
Sie benötigen Zugriff auf ein Konto in GitLab Enterprise.
Damit die Arbeit Ihres Teams sicher bleibt, empfehlen wir, die Aufgaben in dieser Anleitung mit einem Dienstkonto oder einem Konto auszuführen, das von Ihrem Team gemeinsam genutzt wird, nicht mit einem persönlichen Konto.
- Sie müssen ein GitLab Enterprise-Repository besitzen oder Administratorberechtigungen für ein freigegebenes Repository haben.
- Prüfen Sie, ob Sie eine Service Directory-Dienstressource zum Herstellen einer Verbindung zu privaten Netzwerken haben, oder erstellen Sie eine Service Directory-Dienstressource. Sie können die Service Directory-Dienstressource in demselben Projekt erstellen, das Sie mit Developer Connect verwenden, oder in einem anderen Projekt.
Für Verbindungen zu Netzwerken außerhalb von Google Cloudmü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 Befehlszeilenanleitung in diesem Leitfaden 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 aktuelle Version haben, indem Sie
gcloud components updateausführen. - 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 aktuelle Version haben, indem Sie
Anforderungen an den Host
Wenn Sie keine GitLab Enterprise Edition Server-Instanz installiert haben, finden Sie hier eine Installationsanleitung.
Beachten Sie bei der Installation einer GitLab Enterprise Edition Server-Instanz Folgendes:
Sie müssen Ihren Host so konfigurieren, dass er das
HTTPS-Protokoll verarbeitet. Hosts, die mit dem ProtokollHTTPkonfiguriert sind, werden nicht unterstützt.Sie müssen Ihren Host mit derselben URL konfigurieren, über die er von Google Cloudaus erreichbar ist. 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, benötigen Sie die Rolle 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, müssen Sie dem Secret Manager-Dienstkonto die Rolle Cloud KMS CryptoKey Encrypter/Decrypter (
roles/cloudkms.cryptoKeyEncrypterDecrypter) zuweisen. -
Wenn Sie die gcloud CLI verwenden möchten, um die Schritte in diesem Leitfaden auszuführen, benötigen Sie die Rolle „Secret Manager-Administrator“ (
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, benötigen Sie die IAM-Rolle Project IAM Admin (
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 erteilen
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 des Projekts, das Ihre VPC-Netzwerkressource enthält.
Service Directory verwenden, um Hosts außerhalb von Google Cloudzu erreichen
Service Directory verwendet den IP-Adressbereich 35.199.192.0/19, um eine Verbindung zu Ihrem Host außerhalb von Google Cloudherzustellen. Sie müssen diesen Bereich der 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.
Wenn für Ihre Verbindung ein Cloud Router verwendet wird, können Sie die Verbindung so konfigurieren, dass der Bereich an Ihr privates Netzwerk übertragen wird.
Weitere Informationen finden Sie unter Privaten Netzwerkzugriff konfigurieren.
Cloud Load Balancing verwenden, um Hosts außerhalb von Google Cloudzu erreichen
Wenn Ihre Netzwerkkonfiguration es nicht zulässt, den Service Directory-IP-Adressbereich 35.199.192.0/19 an Cloud VPN oder Cloud Interconnect weiterzuleiten, können Sie mit Cloud Load Balancing einen Load Balancer erstellen, der den 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 einen internen HTTPS-Load-Balancer oder einen internen TCP-Load-Balancer (Transmission Control Protocol) verwenden, wenn Sie Ihren Endpunkt erstellen.
Beachten Sie beim Erstellen Ihres TCP-Load-Balancers Folgendes:
- Für den Zugriff auf Ihren Host 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 dynamischen 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 Edge-Netzwerkdienste für Hybridbereitstellungen 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 Gruppen- und Projektzugriffstokens muss die Rolle „Maintainer“ oder höher sein.
- Ein Token mit dem Bereich
Verbindung herstellen
In diesem Abschnitt wird beschrieben, wie Sie eine Verbindung zwischen Developer Connect und GitLab Enterprise erstellen. Wenn Sie die Google Cloud -Konsole 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 Sie eine Liste von Anbietern für die Quellcodeverwaltung sehen:Konfigurieren Sie Ihre erste Verbindung, indem Sie einen Anbieter für die Quellcodeverwaltung auswählen. Klicken Sie auf der Karte für GitLab Enterprise auf Verbinden.
Wenn eine Tabelle mit vorhandenen Verbindungen angezeigt wird: Legen Sie den Anbieter für die Quellcodeverwaltung 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 Bereich 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 der Token-Ersteller oder ein Administrator nichts anderes angegeben hat. Informationen zum Verwalten von Einstellungen und Benachrichtigungen zum Ablauf von Tokens 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 für Netzwerktyp die Option Privates Netzwerk aus.
Klicken Sie unter CA Certificate (CA-Zertifikat) auf Browse (Durchsuchen), um Ihr selbstsigniertes Zertifikat hochzuladen.
Ihr Zertifikat darf nicht größer als 10 KB sein und sollte im PEM-Format (.pem, .cer oder .crt) vorliegen. Wenn dieser Abschnitt leer gelassen wird, wird stattdessen ein Standardsatz von Zertifikaten verwendet.
Wählen Sie im Abschnitt Service Directory-Dienst den Standort Ihres Dienstes aus:
- Im Projekt
your-project - In einem anderen Projekt
- Manuell eingeben
Wenn Sie In einem anderen Projekt oder Manuell eingeben auswählen, geben Sie die Google Cloud Projekt-ID an. Wählen Sie das Projekt im Drop-down-Menü aus oder geben Sie die Projekt-ID manuell ein.
- Im 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 Service Directory-Dienstnamen 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.
Nachdem die Verbindung erstellt wurde, wird die Seite Repositories verknüpfen angezeigt.
So verknüpfen Sie Repositories mit Ihrer Verbindung:
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 bestehenden Verbindungen hinzufügen.
Wenn Sie Gemini Code Assist einrichten, fahren Sie mit den Schritten unter Individuelle Code-Anpassung für Gemini Code Assist konfigurieren und verwenden fort.
gcloud
Erstellen Sie in Secret Manager ein Webhook-Secret, 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 Bereich
api, ähnlich wieglpat-XXXXXXXXXXXXXXXX. - READ_SECRET_NAME: Ein Name für das Secret, in dem das Token mit dem Bereich
read_apigespeichert wird. - 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 zu erstellen:
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 dem Bereich
read_apienthält. - API_SECRET_NAME: Der Name des Secret Manager-Secrets, das das Token mit dem Bereich
apienthält. - VERSION: Die Versionsnummer jedes Secrets. Dazu kann
latestverwendet werden, um die aktuelle Versionsnummer zu verwenden. - HOST_URI: Der URI des Hosts, 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 individuelle Code-Anpassung in 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. Weiter zu Repositories
Repositories über eine bestehende Verbindung verknüpfen
Nachdem Sie eine Verbindung zu GitLab Enterprise hergestellt haben, können Sie eine Verknüpfung zu Repositories erstellen. Sie können diese Schritte später wiederholen, um bei Bedarf weitere Repositories zu verknüpfen.
Wenn Sie Repository-Links für eine vorhandene GitLab Enterprise-Verbindung erstellen möchten, wählen Sie eine der folgenden Optionen aus:
Console
So erstellen Sie Links zu Repositories:
Öffnen Sie in der Google Cloud Console die Seite Repositories.
Seite Repositories öffnen
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.
In Developer Connect werden vorgeschlagene Namen für Ihre Repository-Ressourcen angezeigt.
Wählen Sie eine Option für die Benennung von Repository-Ressourcen aus:
- Generiert: Verwenden Sie die generierten Repository-Ressourcennamen.
- 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
Verknüpfen Sie ein GitLab-Repository, indem Sie den folgenden Befehl ausführen:
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.
Die Repository-Links werden von Developer Connect erstellt.
Führen Sie den Befehl developer-connect connections git-repository-links list aus, um verknüpfte Repositories aufzulisten.
Wenn Sie Gemini Code Assist einrichten, fahren Sie mit den Schritten unter Individuelle Code-Anpassung für Gemini Code Assist konfigurieren und verwenden fort.
Nächste Schritte
- Individuelle Code-Anpassung für Gemini Code Assist einrichten
- Informationen dazu, wie Gemini Code Assist Sie bei der Beschleunigung der Softwareentwicklung unterstützt
- Weitere Integrationen ansehen, die über Developer Connect verfügbar sind