Repositories aus Bitbucket Server erstellen

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

Auf dieser Seite wird erklärt, wie Sie Triggerfunktionen auf einer Bitbucket Server-Instanz aktivieren und wie Sie Repositories aus Bitbucket Server erstellen können, wenn Ihre Instanz in einer lokalen Umgebung gehostet wird.

Hinweis

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

    Aktivieren Sie die APIs

  • Eine Anleitung zum Installieren einer Bitbucket Server-Instanz finden Sie in der Anleitung zur Bitbucket Server-Installation.
  • [Optional] Wenn Ihre Bitbucket Server-Instanz in einer lokalen Umgebung gehostet wird, aktivieren Sie die Service Networking API, um ein Peering für ein Virtual Private Cloud-Netzwerk einzurichten.

Einrichten

Bevor Sie einen Bitbucket Server-Trigger erstellen, benötigen Sie einen API-Schlüssel, um eingehende Ereignisse von Bitbucket Server zu authentifizieren und zu akzeptieren. Außerdem müssen Sie in Ihrem Google Cloud-Projekt IAM-Berechtigungen erteilen, um Trigger zu erstellen und persönliche Zugriffstokens in Bitbucket Server zu erstellen, um Webhooks zu erstellen und Repository-Daten abzurufen.

In diesem Abschnitt werden die Schritte beschrieben, die Sie vor dem Erstellen eines Bitbucket Server-Triggers ausführen müssen.

API-Schlüssel abrufen

Wenn Sie Ihre Host-Repositories verbinden und eingehende Webhook-Ereignisse authentifizieren möchten, benötigen Sie einen API-Schlüssel.

So erhalten Sie einen API-Schlüssel:

  1. Öffnen Sie die Seite Anmeldedaten in der Google Cloud Console:

    Öffnen Sie die Seite Anmeldedaten

  2. Klicken Sie auf Anmeldedaten erstellen.

  3. Klicken Sie auf API-Schlüssel.

    Es wird ein Dialogfeld mit Ihrem erstellten API-Schlüssel angezeigt. Notieren Sie sich Ihren API-Schlüssel.

  4. Wenn Sie Ihren Schlüssel für Produktanwendungen einschränken möchten, klicken Sie auf Schlüssel einschränken, um weitere Schritte zum Schutz Ihres Schlüssels auszuführen. Klicken Sie ansonsten auf Schließen.

    Informationen zum Einschränken Ihres Schlüssels finden Sie unter Einschränkungen für API-Schlüssel anwenden.

Erforderliche IAM-Berechtigungen

Um Ihrem Bitbucket Server-Host eine Verbindung herzustellen, müssen Sie Ihrem Nutzerkonto die Rolle Cloud Build-Bearbeiter (roles/cloudbuild.builds.editor) und die Rolle Inhaber von Cloud Build-Integrationen (cloudbuild.integrations.owner) zuweisen.

Informationen zum Hinzufügen der erforderlichen Rollen zu Ihrem Nutzerkonto finden Sie unter Zugriff auf Cloud Build-Ressourcen konfigurieren. Weitere Informationen zu IAM-Rollen, die mit Cloud Build verknüpft sind, finden Sie unter IAM-Rollen und -Berechtigungen.

Persönliche Zugriffstokens erstellen

Sie müssen zwei persönliche Zugriffstokens in Bitbucket Server erstellen, um folgende Aufgaben auszuführen:

Diese persönlichen Zugriffstokens sind die erforderlichen Mindestberechtigungen. Bei Bedarf müssen Sie möglicherweise zusätzliche Berechtigungen in Bitbucket Server konfigurieren. Sie können beispielsweise ein Bitbucket-Serverkonto auswählen, um nur auf einen Teil der Repositories auf Ihrer Bitbucket Server-Instanz zuzugreifen zu. So können Sie genauer steuern, was in Cloud Build verfügbar ist.

Nachdem Sie Ihre persönlichen Zugriffstokens erstellt haben, sollten Sie Ihre Tokenwerte sicher speichern. Sie verwenden diese Tokens, um später eine Verbindung zu Ihrem Bitbucket Server-Repository herzustellen.

Trigger vom Bitbucket Server aufrufen

In diesem Abschnitt wird erläutert, wie Sie Ihre Bitbucket Server-Repositories mit Cloud Build verbinden und einen Trigger erstellen, mit dem Builds in Ihren verbundenen Repositories automatisch aufgerufen werden. Weitere Informationen zur Verwendung von Bitbucket Server-Triggern in einer lokalen Umgebung finden Sie unter Erstellen von Repositories in einer lokalen Umgebung aus Bitbucket Server.

Verbindung zu einem Bitbucket Server-Host herstellen

Console

So verbinden Sie Ihren Bitbucket Server-Host über die Google Cloud Console mit Cloud Build:

  1. Öffnen Sie die Seite Repositories verwalten in der Google Cloud Console:

    Seite „Repositories verwalten“ öffnen

  2. Klicken Sie auf Host verbinden.

    Der Bereich Host verbinden wird angezeigt.

    Geben Sie die folgenden Informationen ein, um Ihre Bitbucket Server-Instanz mit Cloud Build zu verbinden:

    • Host-URL: Die Host-URL der Bitbucket Server-Instanz. Beispiel: https://bbs.example-test.com:7990
    • Google Cloud API-Schlüssel: Der API-Schlüssel, mit dem Ihre Anmeldedaten authentifiziert werden.
    • [OPTIONAL] CA-Zertifikat: Ihr selbst signiertes Zertifikat. Ihr Zertifikat darf nicht größer als 10 KB sein und sollte im PEM-Format vorliegen (.pem, .cer oder .crt). Wenn dieser Bereich leer ist, wird ein Standardsatz von Zertifikaten verwendet.

    • Nutzername: Der Nutzername Ihres Bitbucket Server-Kontos. Dieses Konto sollte Administratorzugriff auf die Repositories haben, die Sie mit Cloud Build verbinden möchten.

    • Lesezugriff-Token: Ihr Bitbucket Server-Konto mit einem persönlichen Zugriffstoken mit Leseberechtigungen.

    • Administrator-Zugriffstoken: Ihr Bitbucket Server-Persönliches Zugriffstoken mit Administratorberechtigungen für Projekte und Repositories

    • [OPTIONAL] Netzwerkprojekt: Die Netzwerkprojekt-ID Ihres lokalen Netzwerks.

    • [OPTIONAL] Netzwerkname: Der Netzwerkname für Ihr lokales Netzwerk.

  3. Klicken Sie auf Host verbinden.

    Wenn sich Ihre Bitbucket Server-Instanz in einem Peering-Netzwerk befindet, kann das Verbinden des Hosts einige Minuten dauern.

    Sie werden zum Bereich Repository verbinden weitergeleitet.

    Nachdem Sie eine Hostverbindung erstellt haben, werden Ihre persönlichen Zugriffstokens und Ihr Webhook-Secret in Secret Manager sicher gespeichert. Sie können Ihre Secrets auf der Seite Secret Manager ansehen und verwalten.

gcloud

Zum Verbinden Ihres Bitbucket Server-Hosts mit Cloud Build mithilfe von gcloud-Befehlen müssen Sie den Befehl gcloud alpha builds enterprise-config bitbucketserver create im Terminal ausführen. Anders als beim Verbinden Ihres Hosts mit der Google Cloud Console müssen Sie Ihre persönlichen Zugriffstokens und Ihr Webhook-Secret in Secret Manager manuell speichern, bevor Sie den folgenden Befehl ausführen:

gcloud alpha builds enterprise-config bitbucketserver create
    --name=BITBUCKET_SERVER_CONFIG_NAME \
    --user-name=USERNAME \
    --host-uri=HOST_URI \
    --admin-access-token-secret-version=ADMIN_ACCESS_TOKEN_SECRET_VERSION \
    --read-access-token-secret-version=READ_ACCESS_TOKEN_SECRET_VERSION \
    --webhook-secret-secret-version=WEBHOOK_SECRET_SECRET_VERSION \
    --api-key=API_KEY \
    --peered-network=PEERED_NETWORK \
    --ssl-ca-file=SSL_CA_FILE

Dabei gilt:

  • BITBUCKET_SERVER_CONFIG_NAME der Name Ihrer Bitbucket Server-Konfiguration ist.
  • USERNAME ist Ihr Bitbucket Server-Nutzername.
  • HOST_URI ist der Host-URI Ihrer Bitbucket Server-Instanz.
  • ADMIN_ACCESS_TOKEN_SECRET_VERSION ist der Ressourcenname des Administrator-Zugriffstokens, das in Secret Manager gespeichert ist. Das erwartete Format für in Secret Manager gespeicherte Secrets ist projects/${PROJECT_ID}/secrets/${SECRET_NAME}/versions/${VERSION_NUMBER}. Du kannst latest als Version angeben, um die neueste Version deines Secrets zu verwenden. Dies gilt für jede in Secret Manager gespeicherte Ressource.
  • READ_ACCESS_TOKEN_SECRET_VERSION ist der Ressourcenname des Zugriffstokens, das in Secret Manager gespeichert ist.
  • WEBHOOK_SECRET_SECRET_VERSION ist der Ressourcenname des Webhook-Secret, das in Secret Manager gespeichert ist.
  • API_KEY ist der Google Cloud API-Schlüssel.
  • [Optional] PEERED_NETWORK ist das VPC-Netzwerk, zu dem Ihre Bitbucket Server-Instanzen lokal hergestellt werden.
  • SSL_CA_FILE ist der Pfad zu einer lokalen Datei mit Ihrem SSL-Zertifikat, das für Anfragen an den Bitbucket Server verwendet werden soll. Das Zertifikat muss das PEM-Format haben.

API

Verwenden Sie die folgende JSON-Vorlage, um Ihren Bitbucket Server-Host über die API mit Cloud Build zu verbinden. Anders als beim Verbinden des Hosts mit der Google Cloud Console müssen Sie hier vor dem Aufrufen der API Ihre persönlichen Zugriffstokens und das Webhook-Secret manuell in Secret Manager speichern:

  {
      "hostUri": HOST_URI,
      "username": USERNAME,
      "apiKey": API_KEY,
      "secrets": {
        "adminAccessTokenVersionName": ADMIN_ACCESS_TOKEN_SECRET_VERSION,
        "readAccessTokenVersionName": READ_ACCESS_TOKEN_SECRET_VERSION,
        "webhookSecretVersionName": WEBHOOK_SECRET_SECRET_VERSION,
      },
      "peeredNetwork": PEERED_NETWORK,
      "sslCa": SSL_CERTIFICATE
  }

Dabei gilt:

  • HOST_URI ist der Host-URI Ihrer Bitbucket Server-Instanz.
  • USERNAME ist Ihr Bitbucket Server-Nutzername.
  • API_KEY ist der Google Cloud API-Schlüssel.
  • ADMIN_ACCESS_TOKEN_SECRET_VERSION ist der Ressourcenname des Administrator-Zugriffstokens, das in Secret Manager gespeichert ist. Möglicherweise müssen Sie Ihrem Cloud Build-Dienstkonto service-${PROJECT_NUMBER}@gcp-sa-cloudbuild.iam.gserviceaccount.com die Secret Manager-Rolle zuweisen. Weitere Informationen finden Sie unter Einem Dienstkonto Secret-Rolle zuweisen.

  • READ_ACCESS_TOKEN_SECRET_VERSION ist der Ressourcenname des Zugriffstokens, das in Secret Manager gespeichert ist.

  • WEBHOOK_SECRET_SECRET_VERSION ist der Ressourcenname des Webhook-Secret, das in Secret Manager gespeichert ist.

  • [Optional] PEERED_NETWORK ist das VPC-Netzwerk, mit dem Ihre Bitbucket Server-Instanzen lokal verbunden werden.

  • [Optional] SSL_CERTIFICATE ist das SSL-Zertifikat, das für Ihre Bitbucket Server-Instanzen lokal verwendet wird.

Geben Sie im Terminal den folgenden curl-Befehl 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/locations/global/bitbucketServerConfigs/?bitbucketServerConfigId=BITBUCKET_SERVER_CONFIG_NAME -d @config.json

Dabei gilt:

  • PROJECT_NUMBER ist die Nummer Ihres Cloud-Projekts.
  • PROJECT_ID ist die ID Ihres Cloud-Projekts.
  • BITBUCKET_SERVER_CONFIG_NAME der Name Ihrer Bitbucket Server-Konfiguration ist.

Bei erfolgreicher Ausführung enthält der Antworttext eine neu erstellte Operation-Instanz.

Geben Sie im Terminal den folgenden curl-Befehl ein:

  curl -X GET -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/locations/global/operations/OPERATION_ID

Dabei gilt:

  • PROJECT_NUMBER ist die Nummer Ihres Cloud-Projekts.
  • PROJECT_ID ist die ID Ihres Cloud-Projekts.
  • OPERATION_ID ist die ID des Erstellungsvorgangs Ihrer Bitbucket Server.

Möglicherweise müssen Sie den API-Befehl GetOperation so lange ausführen, bis die Antwort done: true enthält. Dies bedeutet, dass der Vorgang abgeschlossen ist. Wenn die Bitbucket Server-Konfiguration erstellt wurde, sehen Sie die Konfiguration im Feld response.value. Andernfalls finden Sie im Feld error einen detaillierten Fehlerbericht.

Verbindung zu einem Bitbucket Server-Repository herstellen

Console

So verbinden Sie ein Bitbucket Server-Repository über die Google Cloud Console mit Cloud Build:

  1. Öffnen Sie in der Google Cloud Console die Seite Trigger.

    Seite "Trigger" aufrufen

  2. Klicken Sie auf Repository verbinden.

    Der Bereich Repository verbinden wird angezeigt.

  3. Wählen Sie unter Quelle auswählen die Option Bitbucket-Server aus.

  4. Wählen Sie unter Select Repository (Repository auswählen) die Bitbucket Server-Repositories aus, die Sie mit Cloud Build verbinden möchten.

  5. Klicken Sie auf Verbinden, um Ihre Repositories zu verbinden.

    Wenn ein Repository verbunden ist, konfiguriert Cloud Build einen Webhook für das Repository in Ihrer Bitbucket Server-Instanz. Das Repository sendet dann Webhooks, um die entsprechenden Bitbucket Server-Trigger aufzurufen, wenn Änderungen an dem Repository vorgenommen werden. Ein Repository kann auch mehrmals mit mehreren Hostverbindungen verbunden werden. Informationen zum Verwalten von Webhooks finden Sie unter Webhooks verwalten.

    Sie benötigen die Webhook-ID, um den Webhook zu finden. Die Webhook-ID für jedes verbundene Repository finden Sie in der BitbucketServerConfig. Geben Sie den folgenden Befehl ein, um die Webhook-ID abzurufen. Dabei ist CONFIG_NAME der Name der Bitbucket Server-Konfiguration:

    gcloud alpha builds enterprise-config bitbucketserver describe --config=CONFIG_NAME
    
  6. Klicken Sie auf Fertig. Optional: Klicken Sie auf Trigger erstellen, um einen Trigger zu erstellen.

API

Verwenden Sie die folgende JSON-Vorlage, um Ihr Bitbucket Server-Repository über die API mit Cloud Build zu verbinden:

  {
    "parent": "projects/PROJECT_NUMBER/locations/global/bitbucketServerConfigs/BITBUCKET_SERVER_CONFIG_NAME",
    "requests": {
      "parent": "projects/PROJECT_NUMBER/locations/global/bitbucketServerConfigs/BITBUCKET_SERVER_CONFIG_NAME",
      "bitbucketServerConnectedRepository": {
        "parent": "projects/PROJECT_NUMBER/locations/global/bitbucketServerConfigs/BITBUCKET_SERVER_CONFIG_NAME",
        "repo": {
           "projectKey": "PROJECT_KEY",
           "repoSlug": "REPO_SLUG"
         }
       }
    }
  }

Dabei gilt:

  • PROJECT_NUMBER ist die Projektnummer Ihres Cloud-Projekts.
  • BITBUCKET_SERVER_CONFIG_NAME der Name Ihrer Bitbucket Server-Konfiguration ist.
  • PROJECT_KEY ist der Schlüssel Ihres Bitbucket Server-Projekts. Wenn Sie ein privates Repository verbinden möchten, muss der Projektschlüssel das Tildesymbol (~) vor dem Nutzernamen enthalten. Beispiel: ~${USERNAME}. Die vollständige URL für ein Host-Repository kann https://${HOST_URI}/projects/~${USER_NAME}/repos/${REPO_SLUG} lauten.
  • REPO_SLUG ist die Slug Ihres Bitbucket Server-Repositorys.

Geben Sie im Terminal den folgenden curl-Befehl 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/locations/global/bitbucketServerConfigs/BITBUCKET_SERVER_CONFIG_NAME/connectedRepositories:batchCreate -d @requests.json

Dabei gilt:

  • PROJECT_NUMBER ist die Nummer Ihres Cloud-Projekts.
  • PROJECT_ID ist die ID Ihres Cloud-Projekts.
  • BITBUCKET_SERVER_CONFIG_NAME der Name Ihrer Bitbucket Server-Konfiguration.

Bei erfolgreicher Ausführung enthält der Antworttext eine neu erstellte Operation-Instanz.

Geben Sie im Terminal den folgenden curl-Befehl ein:

  curl -X GET -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/locations/global/operations/OPERATION_ID

Dabei gilt:

  • PROJECT_NUMBER ist die Nummer Ihres Cloud-Projekts.
  • PROJECT_ID ist die ID Ihres Cloud-Projekts.
  • OPERATION_ID ist die ID des Erstellungsvorgangs Ihrer Bitbucket Server.

Möglicherweise müssen Sie den API-Befehl GetOperation so lange ausführen, bis die Antwort done: true enthält. Dies bedeutet, dass der Vorgang abgeschlossen ist. Wenn das Bitbucket Server-Repository erfolgreich verbunden wurde, können Sie das verbundene Repository im Feld response.bitbucketServerConnectedRepositories sehen. Andernfalls finden Sie im Feld error einen detaillierten Fehlerbericht.

Bitbucket-Server-Trigger 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.

    • 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 Ihren Trigger fest, um einen Build-Commit an eine Pull-Anfrage zu starten.

    • Quelle: Wählen Sie das Repository aus, das bei der Ausführung des Bitbucket Server-Triggers erstellt werden soll.

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

    • Branch: Legen Sie einen Trigger für den Branch 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 deine Konfigurationsdatei in deinem Repository befindet, gib den Speicherort deiner 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 Ihre 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 den Bitbucket Server-Trigger zu erstellen.

gcloud

Wenn Sie einen Bitbucket Server-Trigger mit gcloud-Befehlen erstellen möchten, 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 Regex Ihres Zweigs, wenn Sie den Trigger zum Erstellen bestimmter Zweige festlegen möchten.
  • TAG_NAME ist der Regex Ihres Tags, wenn Sie den Trigger zum Erstellen bestimmter Tags festlegen möchten.
  • BUILD_CONFIG ist der Pfad zu Ihrer Build-Konfigurationsdatei.

API

Wenn Sie einen Bitbucket Server-Trigger mit der API erstellen möchten, verwenden Sie die folgende JSON-Vorlage.

    {
      "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 Regex Ihres Zweigs, wenn Sie den Trigger zum Erstellen bestimmter Zweige festlegen möchten.
  • TAG_NAME ist der Regex Ihres Tags, wenn Sie den Trigger zum Erstellen bestimmter Tags festlegen möchten.

Geben Sie im Terminal den folgenden curl-Befehl 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.

Repositories in einer lokalen Umgebung über den Bitbucket-Server erstellen

Wenn Ihre Bitbucket Server-Instanz in einer lokalen Umgebung gehostet wird und nicht über eine öffentliche Internetverbindung erreichbar ist, müssen Sie eine private Verbindung zwischen Ihrem VPC-Netzwerk und dem Diensterstellernetzwerk erstellen. Außerdem benötigen Sie einen privaten Pool, um in einer lokalen Umgebung zu erstellen.

So erstellen Sie einen Bitbucket Server-Trigger in Ihrer lokalen Umgebung:

  1. Erstellen Sie eine private Verbindung zwischen Ihrem VPC-Netzwerk und Ihrem Diensterstellernetzwerk, indem Sie die folgenden Schritte ausführen:

    1. Aktivieren Sie die Service Networking API.
    2. Erstellen Sie ein neues VPC-Netzwerk oder wählen Sie ein vorhandenes VPC-Netzwerk aus.

    3. Einen benannten IP-Bereich im VPC-Netzwerk zuweisen Damit das VPC-Netzwerk mit Cloud Build verwendet werden kann, muss die Präfixlänge mindestens /23 betragen, z. B. /22, /21 usw.

    4. Verbindung zwischen einem VPC-Netzwerk und Google Cloud herstellen. Weitere Informationen finden Sie unter Private Verbindung erstellen.

    5. Wenn Sie DNS für Ihre Bitbucket Server-Instanz konfiguriert haben, müssen Sie Ihre DNS-Zone manuell mit unserem Dienstanbieter verbinden. Weitere Informationen finden Sie unter Private DNS-Zonen für Dienstersteller freigeben.

    6. [OPTIONAL] Wenn Sie keine private Verbindung aus Ihrem Cloud-Projekt erstellen möchten, können Sie eine freigegebene VPC einrichten und Ihr Cloud-Projekt stattdessen dieses Netzwerk verwenden lassen, wenn Ihr Projekt zu einer Organisation gehört. Sie benötigen allerdings weiterhin das Peering der freigegebenen VPC zur Service Networking API.

  2. Verwenden Sie private Pools, um Ihre Builds auszuführen. Wenn Sie noch keinen privaten Pool erstellt haben, finden Sie weitere Informationen unter Neuen privaten Pool erstellen.

  3. Erstellen Sie einen Bitbucket Server-Trigger, um Repositories zu erstellen, die auf einer Bitbucket Server-Instanz gehostet werden.

Der Bitbucket Server-Trigger ruft jetzt automatisch gemäß Ihrer Konfiguration Builds auf Ihrer Bitbucket Server-Instanz auf. Weitere Informationen zum Ausführen von Builds mit einem privaten Pool finden Sie unter Builds in einem privaten Pool ausführen.

Weitere Informationen