Repositories aus GitLab Enterprise Edition erstellen

Mit Sammlungen den Überblick behalten Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.

Mit Cloud Build können Sie Trigger erstellen, um Builds aus Repositories zu erstellen, die in GitLab Enterprise Edition gehostet werden. Dadurch können Sie Builds als Reaktion auf Ereignisse wie Commit-Push- oder Pull-Anfragen ausführen, die Ihrem GitLab Enterprise Edition-Repository zugeordnet sind.

Auf dieser Seite wird erläutert, wie Sie Triggerfunktionen in einer GitLab Enterprise Edition-Instanz aktivieren können. Informationen zum Erstellen von Repositories aus GitLab finden Sie unter Repositories aus GitLab erstellen.

Hinweis

  • Cloud Build and Secret Manager APIs aktivieren.

    Aktivieren Sie die APIs

GitLab Enterprise Edition-Trigger erstellen

Console

So erstellen Sie mit der Google Cloud Console einen GitLab Enterprise Edition-Trigger:

  1. Seite "Trigger" aufrufen

    Seite "Trigger" aufrufen

  2. Wählen Sie Ihr Google Cloud-Projekt oben auf der Seite aus und klicken Sie auf Öffnen.

  3. Klicken Sie auf Trigger erstellen.

  4. Geben Sie die folgenden Triggereinstellungen ein:

    • Name: Ein Name für Ihren Trigger

    • Region: Wählen Sie die Region für den Trigger aus.

      • Wenn Sie global als Region auswählen, verwendet Cloud Build den Standardpool zum Ausführen des Builds.
      • Wenn Sie eine nicht globale Region auswählen und die mit dem Trigger verknüpfte Build-Konfigurationsdatei einen privaten Pool angibt, verwendet Cloud Build den privaten Pool, um den Build auszuführen. In diesem Fall muss die im Trigger angegebene Region mit der Region übereinstimmen, in der Sie den privaten Pool erstellt haben.
      • Wenn Sie eine nicht globale Region auswählen und die mit dem Trigger verknüpfte Build-Konfigurationsdatei keinen privaten Pool angibt, verwendet Cloud Build den Standardpool, um Ihren Build in derselben Region wie Ihr Trigger auszuführen.
    • Beschreibung Optional: Eine Beschreibung für Ihren Trigger.

    • Ereignis: Wählen Sie das Repository-Ereignis aus, das den Trigger auslösen soll.

      • Push zu Zweig: Legen Sie den Trigger so fest, dass ein Build für Commits zu einem bestimmten Zweig gestartet wird.

      • Neues Tag mit Push übertragen: Legen Sie den Trigger so fest, dass ein Build für Commits gestartet wird, die ein bestimmtes Tag enthalten.

      • Pull-Anfrage (Cloud Source Repositories wird nicht unterstützt): Legen Sie den Trigger so fest, dass ein Build für Commits zu einer Pull-Anfrage gestartet wird.

    • Quelle: Wählen Sie das zu erstellende Repository aus, wenn der Trigger für die GitLab Enterprise Edition ausgeführt wird.

    • Überarbeitung: Wählen Sie den Zweig oder das Tag aus, das bei Ausführung des GitLab Enterprise Edition-Triggers erstellt werden soll.

    • Branch: Legen Sie einen Trigger zum Erstellen dieses Zweigs fest.

    • Tag: Legen Sie einen Trigger zum Erstellen dieses Tags fest.

    • Konfiguration: Wählen Sie die Build-Konfigurationsdatei im Repository aus oder konfigurieren Sie den Build inline im Trigger.

    • Typ: Wählen Sie den Konfigurationstyp aus, der für Ihren Build verwendet werden soll.

      • Cloud Build-Konfigurationsdatei (YAML oder JSON): Verwenden Sie eine Build-Konfigurationsdatei für Ihre Konfiguration.
      • Dockerfile: Verwenden Sie für Ihre Konfiguration eine Dockerfile.
    • Speicherort: Geben Sie den Speicherort für Ihre Konfiguration an.

      • Repository: Wenn sich die Konfigurationsdatei im Repository befindet, geben Sie den Speicherort der Build-Konfigurationsdatei oder das Verzeichnis Dockerfile und einen Namen für das resultierende Image an. Wenn Ihre Konfiguration eine Dockerfile ist, können Sie optional ein Zeitlimit für Ihren Build angeben. Wenn Sie Dockerfile und den Image-Namen angegeben haben, sehen Sie eine Vorschau des Befehls docker build, den Ihr Build ausführen wird.

      • Inline: Wenn Sie die Cloud Build-Konfigurationsdatei (YAML oder JSON) als Konfigurationsoption ausgewählt haben, können Sie die Build-Konfiguration inline angeben. Klicken Sie auf Editor öffnen, um die Build-Konfigurationsdatei in der Google Cloud Console mit YAML- oder JSON-Syntax zu schreiben. Klicken Sie auf Fertig, um die Build-Konfiguration zu speichern.

  5. Klicken Sie auf Erstellen, um Ihren GitLab Enterprise Edition-Trigger zu erstellen.

gcloud

Um einen GitLab Enterprise Edition-Trigger mit gcloud-Befehlen zu erstellen, müssen Sie den folgenden gcloud alpha builds triggers create gitlab-enterprise-Befehl in Ihrem Terminal ausführen:

gcloud alpha builds triggers create gitlab-enterprise
    --name=TRIGGER_NAME \
    --project-namespace=GITLAB_ENTERPRISE_EDITION_PROJECT_NAMESPACE \
    --gitlab-config-resource=projects/PROJECT_NUMBER/locations/REGION/gitLabConfigs/GITLAB_ENTERPRISE_EDITION_CONFIG_NAME \
    --branch-pattern=BRANCH_NAME \ # --tag-pattern=TAG_NAME
    --build-config=BUILD_CONFIG

Dabei gilt:

  • TRIGGER_NAME ist der Name des Triggers.
  • GITLAB_ENTERPRISE_EDITION_PROJECT_NAMESPACE ist der Namespace Ihres GitLab Enterprise Edition-Projekts.
  • PROJECT_NUMBER ist die Projektnummer Ihres Google Cloud-Projekts.
  • REGION ist die Region, in der sich Ihre GitLab Enterprise Edition-Konfiguration befindet.
  • GITLAB_ENTERPRISE_EDITION_CONFIG_NAME ist der Name Ihrer GitLab Enterprise-Konfiguration.
  • BRANCH_NAME ist der reguläre Ausdruck Ihres Zweigs, wenn Sie Ihren Trigger so festlegen möchten, dass bestimmte Zweige erstellt werden.
  • TAG_NAME ist der reguläre Ausdruck Ihres Tags, wenn Sie den Trigger zum Erstellen bestimmter Tags festlegen möchten.
  • BUILD_CONFIG ist der Pfad zu Ihrer Build-Konfigurationsdatei.

API

Verwenden Sie die folgende JSON-Vorlage, um einen GitLab Enterprise Edition-Trigger mit der API zu erstellen.

    {
      "filename": "cloudbuild.yaml",
      "name": "curl-trigger",
      "description": "curl trigger",
      "gitlabEnterpriseEventsConfig": {
          "projectNamespace": GITLAB_ENTERPRISE_EDITION_PROJECT_NAMESPACE,
          "push": {
             "branch": BRANCH_NAME # "tag": TAG_NAME
          },
          "gitlabConfigResource": "projects/PROJECT_ID/locations/REGION/gitLabConfigs/GITLAB_ENTERPRISE_EDITION_CONFIG_NAME"
      }
  }

Dabei gilt:

  • GITLAB_ENTERPRISE_EDITION_PROJECT_NAMESPACE ist der Namespace Ihres GitLab Enterprise Edition-Projekts.
  • BRANCH_NAME ist der reguläre Ausdruck Ihres Zweigs, wenn Sie Ihren Trigger so festlegen möchten, dass bestimmte Zweige erstellt werden.
  • TAG_NAME ist der reguläre Ausdruck Ihres Tags, das Sie festlegen möchten.
  • PROJECT_ID ist Ihre Google Cloud-Projekt-ID.
  • REGION ist die Region, in der sich Ihre GitLab Enterprise Edition-Konfiguration befindet.
  • GITLAB_ENTERPRISE_EDITION_CONFIG_NAME ist der Name Ihrer GitLab Enterprise-Konfiguration.

Geben Sie den folgenden curl-Befehl in Ihrem Terminal ein:

curl -X POST -H "Authorization: Bearer "$(gcloud auth print-access-token) -H "Content-Type: application/json; charset=utf-8" https://cloudbuild.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/triggers -d @trigger.json

Dabei gilt:

  • PROJECT_ID ist Ihre Google Cloud-Projekt-ID.
  • REGION ist die Region, in der sich Ihre GitLab Enterprise Edition-Konfiguration befindet.

Datenfreigabe

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

Die folgenden Daten werden derzeit von Cloud Build und GitLab Enterprise Edition gemeinsam genutzt:

  • ID des Cloud-Projekts
  • Triggername

Nächste Schritte