Repositories aus GitLab Enterprise Edition in einem privaten Netzwerk erstellen

Mit Cloud Build können Sie Trigger erstellen, um Builds aus Repositories zu erstellen gehostet auf GitLab Enterprise Edition, mit denen Sie Builds als Reaktion auf Ereignisse wie Commit-Pushes oder Zusammenführungsanfragen, die mit Ihrem GitLab Enterprise Edition-Repository verknüpft sind.

Auf dieser Seite wird erläutert, wie Sie die Triggerfunktion in einem GitLab aktivieren Enterprise Edition-Instanz, wenn Ihre Instanz in einem privaten Netzwerk gehostet wird.

Hinweise

  • Cloud Build, Secret Manager, Compute Engine, and Service Networking APIs aktivieren.

    Aktivieren Sie die APIs

Repositories aus GitLab Enterprise Edition in einem privaten Netzwerk erstellen

Wenn Ihre GitLab Enterprise Edition-Instanz nur innerhalb eines VPC-Netzwerk müssen Sie ein Service Directory-Dienst und Build mit privaten Pools. Die Projekt, das Ihr VPC-Netzwerk enthält, kann sich in einem anderen als das, das Ihren Service Directory-Dienst enthält. Stellen Sie anhand der folgenden Anleitung sicher, dass Ihre Instanz erreichbar ist, bevor Sie Erstellen von Triggern:

  1. Aktivieren Sie die Service Directory API

  2. Achten Sie darauf, dass die Rolle Projekt-IAM-Administrator dem Nutzer Google Cloud-Projekt, das Sie erstellen möchten Service Directory-Dienst in Weitere Informationen zum IAM-Rollen, siehe Zugriff auf Cloud Build-Ressourcen konfigurieren

  3. Richten Sie mit den folgenden Schritten einen Service Directory-Dienst ein:

    1. Namespace konfigurieren für Ihr Google Cloud-Projekt.

      Die in Ihrem Namespace angegebene Region muss mit der Region übereinstimmen, in der Cloud Build-Hostverbindung angeben.

    2. Dienst konfigurieren in Ihrem Namespace.

    3. Endpunkt konfigurieren für Ihren registrierten Dienst.

      Sie müssen eine interne IP-Adresse verwenden und eine HTTPS-Portnummer angeben, damit Cloud Build Ihre .

    Weitere Informationen zur Konfiguration des privaten Netzwerkzugriffs finden Sie unter Zugriff auf private Netzwerke konfigurieren Service Directory bietet auch eine Integration in Dienste. wie Load-Balancer und Google Kubernetes Engine (GKE). Weitere Informationen finden Sie unter Service Directory und Load Balancing – Übersicht oder Service Directory for GKE – Übersicht.

  4. Service Directory-Zugriff auf Cloud Build gewähren Dienst-Agent:

    export PROJECT_NUMBER=$(gcloud projects describe PROJECT_ID --format="value(projectNumber)")
    export CLOUD_BUILD_SERVICE_AGENT="service-${PROJECT_NUMBER}@gcp-sa-cloudbuild.iam.gserviceaccount.com"
    gcloud projects add-iam-policy-binding PROJECT_ID_CONTAINING_SERVICE_DIRECTORY_RESOURCE \
       --member="serviceAccount:${CLOUD_BUILD_SERVICE_AGENT}" \
       --role="roles/servicedirectory.viewer"
    

    Wobei:

    • PROJECT_ID ist Ihre Google Cloud-Projekt-ID.
    • PROJECT_ID_CONTAINING_SERVICE_DIRECTORY_RESOURCE ist Die Projekt-ID, die Ihre Service Directory-Ressource enthält.
  5. Weisen Sie Ihrem Konto die Rolle Service Directory Viewer zu. Cloud Build-Dienstkonto service-${PROJECT_NUMBER}@gcp-sa-cloudbuild.iam.gserviceaccount.com

  6. Weisen Sie Ihrem Unternehmen die Rolle Autorisierter Private Service Connect-Dienst zu. Cloud Build-Dienstkonto, um Zugriff auf Ihr VPC-Netzwerkressource, service-${PROJECT_NUMBER}@gcp-sa-cloudbuild.iam.gserviceaccount.com Ich muss die Rolle in dem Projekt zuweisen, das Ihre VPC enthält Netzwerk.

  7. Verwenden Sie private Pools für die Ausführung. Ihre Builds. Wenn Sie noch keinen privaten Pool erstellt haben, lesen Sie den Abschnitt Neuen Pool erstellen privater Pool.

  8. Folgen Sie der Anleitung, um GitLab Enterprise Edition-Trigger erstellen zum Erstellen von Repositories, die auf einer GitLab Enterprise Edition-Instanz gehostet werden.

    Wenn Sie beim Verbinden Ihres GitLab Enterprise Edition-Host auf Cloud Build setzen, müssen Sie den Parameter Host-URI als alternativen Antragstellernamen (Subject Alternative Name, SAN) des Zertifikats.

Ihr GitLab Enterprise Edition-Trigger ruft jetzt automatisch Builds auf Ihre GitLab Enterprise Edition-Instanz basierend auf Ihrer Konfiguration.

Datenfreigabe

Mit den von Cloud Build an GitLab Enterprise Edition gesendeten Daten können Sie Trigger nach Namen identifizieren und Build-Ergebnisse in GitLab Enterprise sehen Versions-Repositories.

Die folgenden Daten werden von Cloud Build und GitLab gemeinsam verwendet Enterprise-Version:

  • Google Cloud-Projekt-ID
  • Triggername

Nächste Schritte