Verbindung zu einem GitLab-Host herstellen

Auf dieser Seite wird erläutert, wie Sie einen GitLab-Host mit Cloud Build verbinden.

Hinweise

  • Enable the Cloud Build and Secret Manager APIs.

    Enable the APIs

Verbindung zu einem GitLab-Host herstellen

Bevor Sie eine Hostverbindung für Ihre GitLab-Instanz erstellen, müssen Sie in GitLab persönliche Zugriffstokens erstellen. Gehen Sie dazu so vor:

  1. Melden Sie sich in Ihrer GitLab-Instanz an.

  2. Klicken Sie auf der GitLab-Seite für Ihre Instanz rechts oben auf Ihren Avatar.

  3. Klicken Sie auf Profil bearbeiten.

  4. Wählen Sie in der linken Seitenleiste Zugriffstokens aus.

    Die Seite Persönliche Zugriffstokens wird angezeigt.

  5. Erstellen Sie ein Zugriffstoken mit dem Bereich api, das zum Verbinden und Trennen von Repositories verwendet wird.

  6. Erstellen Sie ein Zugriffstoken mit dem Bereich read_api, damit Cloud Build-Repositories auf den Quellcode in Repositories zugreifen können.

Console

So verbinden Sie Ihren GitLab-Host mit Cloud Build:

  1. Öffnen Sie in der Google Cloud -Konsole die Seite Repositories.

    Zur Seite „Repositories“

    Die Seite Repositories wird angezeigt.

  2. Wählen Sie oben auf der Seite den Tab 2. Generation aus.

  3. Wählen Sie in der Projektauswahl in der oberen Leiste Ihr Google Cloud -Projekt aus.

  4. Klicken Sie auf Hostverbindung erstellen, um einen neuen Host mit Cloud Build zu verbinden.

  5. Wählen Sie im linken Bereich GitLab als Quellanbieter aus.

  6. Geben Sie im Abschnitt Verbindung konfigurieren die folgenden Informationen ein:

    1. Region: Wählen Sie eine Region für die Verbindung aus.

    2. Name: Geben Sie einen Namen für die Verbindung ein.

  7. Wählen Sie im Abschnitt Hostdetails die folgenden Informationen aus oder geben Sie sie ein:

    1. GitLab-Anbieter: Wählen Sie GitLab.com als Anbieter aus.
  8. Geben Sie im Bereich Persönliche Zugriffstokens die folgenden Informationen ein:

    1. API-Zugriffstoken: Geben Sie das Token mit dem Zugriffsbereich api ein. Dieses Token wird zum Verbinden und Trennen von Repositories verwendet.

    2. API-Zugriffstoken mit Leseberechtigung: Geben Sie das Token mit dem Zugriffsbereich read_api ein. Cloud Build-Trigger verwenden dieses Token, um auf Quellcode in Repositories zuzugreifen.

  9. Klicken Sie auf Verbinden.

    Nachdem Sie auf die Schaltfläche Verbinden geklickt haben, werden Ihre persönlichen Zugriffstokens sicher in Secret Manager gespeichert. Nach der Hostverbindung erstellt Cloud Build auch ein Webhook-Secret in Ihrem Namen. Sie können Ihre Secrets auf der Seite Secret Manager ansehen und verwalten.

Sie haben jetzt eine GitLab-Verbindung erstellt.

gcloud

Bevor Sie Ihren GitLab-Host mit Cloud Build verbinden, müssen Sie Ihre Anmeldedaten speichern. Gehen Sie dazu so vor:

  1. Speichern Sie das Token in Secret Manager.

  2. Erstellen Sie ein Webhook-Secret in Secret Manager, indem Sie den folgenden Befehl ausführen:

     cat /proc/sys/kernel/random/uuid | tr -d '\n' | gcloud secrets create my-gle-webhook-secret --data-file=-
    
  3. Wenn Sie Ihre Secrets in einem anderen Google Cloud -Projekt speichern als dem, mit dem Sie eine Hostverbindung erstellen möchten, geben Sie den folgenden Befehl ein, um Ihrem Projekt Zugriff auf den Cloud Build-Dienst-Agent zu gewähren:

    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 die Projekt-ID Ihres Google Cloud -Kontos.

Sie können jetzt mit der Verbindung Ihres GitLab-Hosts mit Cloud Build fortfahren.

Gehen Sie folgendermaßen vor:

So verbinden Sie Ihren GitLab-Host mit Cloud Build:

  1. 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 die Projekt-ID Ihres Google Cloud -Kontos.
    • REGION ist die Region für Ihre Verbindung.
    • API_TOKEN ist der Name Ihres Tokens mit dem Bereich api.
    • READ_TOKEN ist der Name Ihres Tokens mit dem Bereich read_api.
    • SECRET_VERSION ist die Version Ihres Secrets.
    • WEBHOOK_SECRET ist Ihr Webhook-Secret.

Sie haben jetzt eine GitLab-Verbindung erstellt.

Nächste Schritte