Repositories aus GitLab erstellen

Mit Cloud Build können Sie Trigger erstellen, um Builds aus Repositories auszuführen, die auf GitLab gehostet werden. So können Sie Builds als Reaktion auf Ereignisse wie Commit-Pushes oder Merge-Anfragen ausführen, die mit Ihrem GitLab-Repository verknüpft sind.

Auf dieser Seite wird erläutert, wie Sie die Triggerfunktion in einer GitLab-Instanz aktivieren. Weitere Informationen zu Cloud Build-Triggern und Cloud Build-Repositories

Hinweise

  • Enable the Cloud Build and Secret Manager APIs.

    Enable the APIs

GitLab-Trigger erstellen

Console

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

  1. Seite "Trigger" aufrufen

    Seite "Trigger" aufrufen

  2. Wählen Sie oben auf der Seite Ihr Google Cloud -Projekt 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 in der Build-Konfigurationsdatei, die mit dem Trigger verknüpft ist, ein privater Pool angegeben ist, verwendet Cloud Build den privaten Pool, um den Build auszuführen. In diesem Fall muss die Region, die Sie in Ihrem Trigger angeben, mit der Region übereinstimmen, in der Sie Ihren privaten Pool erstellt haben.
      • Wenn in der mit dem Trigger verknüpften Build-Konfigurationsdatei kein privater Pool angegeben ist, verwendet Cloud Build den Standardpool, um den Build in derselben Region wie der 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: Legen Sie den Trigger so fest, dass ein Build für Commits zu einer Zusammenführungsanfrage gestartet wird.

    • Quelle: Wählen Sie als Quelle 2. Generation aus.

      • Repository: Wählen Sie aus der Liste der verfügbaren Repositories das gewünschte Repository aus. Informationen zum Verbinden eines neuen Repositories finden Sie unter Verbindung zu einem GitLab-Repository herstellen.

      • Zweig oder Tag: Geben Sie einen regulären Ausdruck mit dem abzugleichenden Zweig- oder Tag-Wert an. Informationen zur zulässigen Syntax für reguläre Ausdrücke finden Sie unter RE2-Syntax.

      • Kommentarsteuerung: Wenn Sie Pull-Anfrage als Ereignis ausgewählt haben, wählen Sie eine der folgenden Optionen aus, um zu kontrollieren, ob ein Build automatisch vom Trigger ausgeführt wird:

        • Erforderlich, außer für Inhaber und Mitbearbeiter: Wenn ein Zusammenführungsantrag von einem Repository-Inhaber oder Mitbearbeiter erstellt oder aktualisiert wird, werden Builds automatisch vom Trigger ausgeführt. Wenn ein externer Mitwirkender die Aktion initiiert, werden Builds nur ausgeführt, nachdem ein Inhaber oder Mitbearbeiter /gcbrun zum Zusammenführungsantrag kommentiert hat.

        • Erforderlich: Wenn ein Merge-Request von einem Mitwirkenden erstellt oder aktualisiert wird, werden Builds erst ausgeführt, nachdem ein Inhaber oder Mitbearbeiter /gcbrun zu dem Merge-Request kommentiert hat. Builds werden jedes Mal ausgeführt, wenn eine Änderung an einem Merge-Request vorgenommen wird.

        • Nicht erforderlich: Wenn ein Merge-Request von einem Mitwirkenden erstellt oder aktualisiert wird, werden Builds automatisch durch Trigger ausgeführt.

    • Konfiguration: Wählen Sie die Build-Konfigurationsdatei aus, die sich in Ihrem Repository befindet, 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 in Ihrem Repository befindet, geben Sie den Speicherort Ihrer Build-Konfigurationsdatei oder des Dockerfile-Verzeichnisses 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 Ihre Build-Konfigurationsdatei in derGoogle Cloud -Konsole in der YAML- oder JSON-Syntax zu schreiben. Klicken Sie auf Fertig, um die Build-Konfiguration zu speichern.

  5. Klicken Sie auf Erstellen, um den GitLab-Trigger zu erstellen.

gcloud

Führen Sie den folgenden Befehl aus, um GitLab-Trigger mit gcloud-Befehlen zu erstellen:

gcloud builds triggers create gitlab \
  --name=TRIGGER_NAME \
  --repository=projects/PROJECT_ID/locations/REGION/connections/CONNECTION_NAME/repositories/REPO_NAME \
  --branch-pattern=BRANCH_PATTERN # or --tag-pattern=TAG_PATTERN \
  --build-config=BUILD_CONFIG_FILE \
  --region=REGION

Wobei:

  • TRIGGER_NAME ist der Name des Triggers.
  • PROJECT_ID ist die Projekt-ID Ihres Google Cloud -Kontos.
  • REGION ist die Region des Triggers.
  • CONNECTION_NAME ist der Name Ihrer GitLab-Verbindung.
  • REPO_NAME ist der Name Ihres Repositorys
  • BRANCH_PATTERN ist der Zweigname in Ihrem Repository, für den der Build aufgerufen werden soll.
  • TAG_PATTERN ist der Tag-Name in Ihrem Repository, in dem der Build ausgelöst werden soll.
  • BUILD_CONFIG_FILE ist der Pfad zu Ihrer Build-Konfigurationsdatei.

Datenfreigabe

Anhand der Daten, die von Cloud Build an GitLab gesendet werden, können Sie Trigger nach Namen erkennen und Build-Ergebnisse in Ihren GitLab-Repositories aufrufen.

Die folgenden Daten werden derzeit zwischen Cloud Build und Ihrem GitLab-Host geteilt:

  • Google Cloud Projekt-ID
  • Triggername

Nächste Schritte