Repositories von Bitbucket Server erstellen

Mit Cloud Build können Sie Trigger zum Erstellen aus Repositories erstellen, die auf Bitbucket Server gehostet werden. Dadurch können Sie Builds als Reaktion auf Ereignisse wie Commit-Push- oder Pull-Anfragen ausführen, die Ihrem Bitbucket Server-Repository zugeordnet sind.

Auf dieser Seite wird erläutert, wie Sie Triggerfunktionen auf einer Bitbucket Server-Instanz aktivieren können.

Hinweis

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

    Aktivieren Sie die APIs

Bitbucket-Server-Trigger erstellen

In diesem Abschnitt wird erläutert, wie Sie Ihre Bitbucket Server-Repositories mit Cloud Build verbinden und einen Trigger zum automatischen Aufrufen von Builds in Ihren verbundenen Repositories erstellen. Wenn Sie Bitbucket Server-Trigger in einem privaten Netzwerk verwenden möchten, finden Sie weitere Informationen unter Builds von Bitbucket Server in einem privaten Netzwerk erstellen.

Console

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

  1. Seite "Trigger" aufrufen

    Seite "Trigger" aufrufen

  2. Wählen Sie das 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 Bitbucket Server-Trigger ausgeführt wird.

    • Überarbeitung: Wählen Sie den Zweig oder das Tag aus, das bei Ausführung des Bitbucket Server-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 Bitbucket Server-Trigger zu erstellen.

gcloud

Um einen Bitbucket Server-Trigger mit gcloud-Befehlen zu erstellen, müssen Sie den folgenden gcloud alpha builds triggers create bitbucketserver-Befehl in Ihrem Terminal ausführen:

gcloud alpha builds triggers create bitbucketserver
    --name=TRIGGER_NAME \
    --project-key=PROJECT_KEY \
    --repo-slug=REPO_SLUG \
    --bitbucket-server-config-resource=projects/PROJECT_NUMBER/locations/global/bitbucketServerConfigs/ID \
    --branch-pattern=BRANCH_NAME \ # --tag-pattern=TAG_NAME
    --build-config=BUILD_CONFIG

Dabei gilt:

  • TRIGGER_NAME ist der Name des Triggers.
  • PROJECT_KEY ist der Schlüssel Ihres Bitbucket Server-Projekts.
  • REPO_SLUG ist die Slug Ihres Bitbucket Server-Repositorys.
  • PROJECT_NUMBER ist die Projektnummer Ihres Cloud-Projekts.
  • ID ist die ID Ihrer BitbucketServerConfig.
  • 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 Bitbucket Server-Trigger mit der API zu erstellen.

    {
      "filename": "cloudbuild.yaml",
      "name": "curl-trigger",
      "description": "curl trigger",
      "bitbucket_server_trigger_config": {
          "repo_slug": REPO_SLUG,
          "project_key": PROJECT_KEY,
          "push": {
             "branch": BRANCH_NAME # "tag": TAG_NAME
          },
          "bitbucket_server_config_resource": "projects/PROJECT_NUMBER/locations/global/bitbucketServerConfigs/ID"
      }
  }

Dabei gilt:

  • PROJECT_KEY ist der Schlüssel Ihres Bitbucket Server-Projekts.
  • REPO_SLUG ist die Slug Ihres Bitbucket Server-Repositorys.
  • PROJECT_NUMBER ist die Projektnummer Ihres Cloud-Projekts.
  • ID ist die ID Ihrer BitbucketServerConfig.
  • 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.

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" -H "x-goog-user-project: PROJECT_NUMBER" https://cloudbuild.googleapis.com/v1/projects/PROJECT_ID/triggers -d @trigger.json

Dabei gilt:

  • PROJECT_NUMBER ist die Nummer Ihres Cloud-Projekts.
  • PROJECT_ID ist die ID Ihres Cloud-Projekts.

Datenfreigabe

Mit den von Cloud Build an Bitbucket Server gesendeten Daten können Sie Trigger nach Namen identifizieren und Build-Ergebnisse auf Bitbucket Server ansehen.

Die folgenden Daten werden derzeit zwischen Cloud Build und Bitbucket Server geteilt:

  • ID des Cloud-Projekts
  • Triggername

Die Datenfreigabe ist für Bitbucket Server automatisch aktiviert.

Weitere Informationen