Auf dieser Seite wird erläutert, wie Sie einen GitLab-Host verbinden zu Cloud Build.
Hinweise
-
Cloud Build and Secret Manager APIs aktivieren.
Verbindung zu einem GitLab-Host herstellen
Bevor Sie eine Hostverbindung für Ihre GitLab-Instanz erstellen, Sie müssen in GitLab persönliche Zugriffstokens erstellen. Führen Sie dazu die folgenden Schritte aus:
Melden Sie sich in Ihrer GitLab Enterprise Edition-Instanz an.
Klicken Sie auf der GitLab Enterprise Edition-Seite für Ihre Instanz rechts oben auf Ihren Avatar.
Klicken Sie auf Profil bearbeiten.
Wählen Sie in der linken Seitenleiste Zugriffstokens aus.
Die Seite Personal Access Tokens (Persönliche Zugriffstokens) wird angezeigt.
Erstellen Sie ein Zugriffstoken mit dem Bereich
api
, das zum Verbinden und Trennen von Repositories verwendet werden soll.Zugriffstoken mit dem Bereich
read_api
erstellen um sicherzustellen, dass Cloud Build-Repositories auf Quellcode in den Repositories zugreifen können.
Console
So verbinden Sie Ihren GitLab-Host mit Cloud Build:
Öffnen Sie in der Cloud Console die Seite Repositories.
Die Seite Repositories wird angezeigt.
Wählen Sie oben auf der Seite den Tab 2. Generation aus.
Wählen Sie in der Projektauswahl in der oberen Leiste Ihr Google Cloud-Projekt aus.
Klicken Sie auf Hostverbindung erstellen, um einen neuen Host mit Cloud Build zu verbinden.
Wählen Sie im linken Bereich GitLab als Quellanbieter aus.
Geben Sie im Abschnitt Verbindung konfigurieren die folgenden Informationen ein:
Region: Wählen Sie eine Region für die Verbindung aus.
Name: Geben Sie einen Namen für die Verbindung ein.
Wählen Sie im Abschnitt Host Details (Hostdetails) Folgendes aus oder geben Sie Folgendes ein: Informationen:
- GitLab-Anbieter: Wählen Sie GitLab.com als Anbieter aus.
Geben Sie im Abschnitt Persönliche Zugriffstokens die folgenden Informationen ein:
API-Zugriffstoken: Geben Sie das Token mit dem Bereichszugriff
api
ein. Dieses Token wird zum Verbinden und Trennen von Repositories verwendet.API-Zugriffstoken lesen: Geben Sie das Token mit dem Bereich
read_api
ein. Zugriff haben. Cloud Build-Trigger verwenden dieses Token für den Zugriff auf die Quelle Code in Repositories.
Klicken Sie auf Verbinden.
Nachdem Sie auf die Schaltfläche Verbinden geklickt haben, werden Ihre persönlichen Zugriffstokens sicher in Secret Manager gespeichert. Folge ich Hostverbindung, erstellt Cloud Build auch ein Webhook-Secret . Sie können Ihre Secrets auf der Secret Manager.
Sie haben jetzt erfolgreich eine GitLab-Verbindung erstellt.
gcloud
Bevor Sie Ihren GitLab-Host mit Cloud Build verbinden, Führen Sie die folgenden Schritte aus, um Ihre Anmeldedaten zu speichern:
Erstellen Sie ein Webhook-Secret in Secret Manager, indem Sie den folgenden Befehl ausführen: folgenden Befehl:
cat /proc/sys/kernel/random/uuid | tr -d '\n' | gcloud secrets create my-gle-webhook-secret --data-file=-
Wenn Sie Ihre Secrets in einem anderen Google Cloud-Projekt als dem von Ihnen geplanten speichern zum Erstellen einer Hostverbindung, geben Sie den folgenden Befehl ein, um Ihrem Projekt Zugriff auf den Cloud Build-Dienst-Agent:
PN=$(gcloud projects describe PROJECT_ID --format="value(projectNumber)") CLOUD_BUILD_SERVICE_AGENT="service-${PN}@gcp-sa-cloudbuild.iam.gserviceaccount.com" gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:${CLOUD_BUILD_SERVICE_AGENT}" \ --role="roles/secretmanager.admin"
Wobei:
- PROJECT_ID ist Ihre Google Cloud-Projekt-ID.
Sie können jetzt Ihren GitLab-Host mit Cloud Build
Gehen Sie folgendermaßen vor:
So verbinden Sie Ihren GitLab-Host mit Cloud Build:
Geben Sie den folgenden Befehl ein, um eine GitLab-Verbindung zu erstellen:
gcloud builds connections create gitlab CONNECTION_NAME \ --host-uri=HOST_URI \ --project=PROJECT_ID \ --region=REGION \ --authorizer-token-secret-version=projects/PROJECT_ID/secrets/API_TOKEN/versions/SECRET_VERSION \ --read-authorizer-token-secret-version=projects/PROJECT_ID/secrets/READ_TOKEN/versions/SECRET_VERSION \ --webhook-secret-secret-version=projects/PROJECT_ID/secrets/WEBHOOK_SECRET/versions/SECRET_VERSION
Wobei:
- CONNECTION_NAME ist der Name Ihrer Verbindung.
- HOST_URI ist der URI Ihrer GitLab-Instanz. Beispiel:
https://my-gle-server.net
. - PROJECT_ID ist Ihre Google Cloud-Projekt-ID.
- REGION ist die Region für Ihre Verbindung.
- API_TOKEN ist der Name des Tokens mit dem Bereich
api
. - READ_TOKEN ist der Name des Tokens mit dem Bereich
read_api
. - SECRET_VERSION ist die Version Ihres Secrets.
- WEBHOOK_SECRET ist Ihr Webhook-Secret.
Sie haben jetzt erfolgreich eine GitLab-Verbindung erstellt.
Nächste Schritte
- Informationen zum Verbinden eines GitLab-Repositorys
- Hier erfahren Sie, wie Sie Arbeitslasten mit von Google verwalteten CI/CD-Komponenten in Ihrer GitLab-Pipeline erstellen und in Google Cloud bereitstellen. Siehe GitLab in Google Cloud.