Verbindung zu einem Bitbucket Data Center-Repository herstellen

Auf dieser Seite wird erläutert, wie Sie eine Verbindung zu einem Bitbucket Data Center-Repository mit Cloud Build herstellen.

Hinweise

  • Enable the Cloud Build, Secret Manager, and Compute Engine APIs.

    Enable the APIs

Verbindung zu einem Bitbucket Data Center-Repository herstellen

Console

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

  1. Öffnen Sie in der Google Cloud -Konsole die Seite Repositories.

    Zur Seite „Repositories“

  2. Wählen Sie oben auf der Seite den Tab 1. Generation aus.

  3. Klicken Sie auf Repository verbinden.

  4. Wählen Sie Bitbucket-Rechenzentrum aus.

    Das Feld Repository verbinden wird angezeigt. Führen Sie die folgenden Schritte aus, um eine Verbindung zu Ihrem Bitbucket-Repositorium im Rechenzentrum herzustellen:

    1. Region: Wählen Sie die Region aus, in der sich Ihre Verbindung befindet.

    2. Wählen Sie unter Anbieter für Quellcodeverwaltung auswählen die Option Bitbucket Data Center aus.

    3. Hostverbindung: Wählen Sie im Drop-down-Menü den Namen Ihrer Hostverbindung aus.

    4. Klicken Sie auf Weiter.

    5. Wählen Sie unter Repository auswählen die Bitbucket Data Center-Repositories aus, die Sie mit Cloud Build verbinden möchten.

    6. Lesen Sie nach dem Auswählen des Bitbucket Data Center-Kontos und der Repositories den Haftungsausschluss und klicken Sie anschließend das Kästchen daneben an, um die Nutzungsbedingungen zu akzeptieren.

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

  5. Klicken Sie auf Fertig. Optional können Sie auf Trigger erstellen klicken, um einen Trigger zu erstellen.

API

So stellen Sie über die API eine Verbindung zwischen Ihrem Bitbucket Data Center-Repository und Cloud Build her:

  1. Erstellen Sie eine package.json-Datei mit folgendem Inhalt:

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

    Wobei:

    • PROJECT_NUMBER ist die Projektnummer Ihres Cloud-Projekts.
    • REGION ist die Region, die mit Ihrer Bitbucket-Rechenzentrumskonfiguration verknüpft ist.
    • BITBUCKET_DATA_CENTER_CONFIG_NAME ist der Name Ihrer Bitbucket-Rechenzentrumskonfiguration.
    • PROJECT_KEY ist der Schlüssel Ihres Bitbucket-Rechenzentrumsprojekts. Wenn Sie eine Verbindung zu einem privaten Repository herstellen möchten, sollte Ihr Projektschlüssel vor Ihrem Nutzernamen das Tildezeichen (~) enthalten. Beispiel: ~${USERNAME}. Die vollständige URL für ein Host-Repository ähnelt https://${HOST_URI}/projects/~${USER_NAME}/repos/${REPO_SLUG}.
    • REPO_SLUG ist der Slug Ihres Bitbucket-Rechenzentrums-Repositorys.
  2. Führen Sie im Terminal den folgenden curl-Befehl aus demselben Verzeichnis wie die JSON-Datei aus:

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/REGION/bitbucketServerConfigs/BITBUCKET_DATA_CENTER_CONFIG_NAME/connectedRepositories:batchCreate -d @requests.json

Wobei:

  • PROJECT_NUMBER ist die Projektnummer Ihres Google Cloud -Projekts.
  • PROJECT_ID ist die Projekt-ID Ihres Google Cloud -Abos.
  • REGION ist die Region, die mit Ihrer Bitbucket-Rechenzentrumskonfiguration verknüpft ist.
  • BITBUCKET_DATA_CENTER_CONFIG_NAME ist der Name Ihrer Bitbucket-Rechenzentrumskonfiguration. Bei Erfolg enthält der Antworttext eine neu erstellte Operation-Instanz.
  1. Führen Sie im Terminal den folgenden curl-Befehl aus:

    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/REGION/operations/OPERATION_ID
    

    Wobei:

    • PROJECT_NUMBER ist die Projektnummer Ihres Google Cloud -Projekts.
    • PROJECT_ID ist die ID Ihrer Google Cloud .
    • REGION ist die Region, die mit Ihrer Bitbucket-Rechenzentrumskonfiguration verknüpft ist.
    • OPERATION_ID ist die ID des Vorgangs zum Erstellen der Bitbucket Data Center-Konfiguration. Sie finden die Vorgangs-ID im Feld name der Antwort. Das Format des Felds name in Ihrer Antwort sieht so aus: projects/project-id/locations/region/operations/operation-id.

    Möglicherweise müssen Sie den GetOperation API-Befehl so lange ausführen, bis die Antwort done: true enthält, was bedeutet, dass der Vorgang abgeschlossen ist. Wenn die Verbindung zum Bitbucket-Repositorium hergestellt wurde, wird es im Feld response.bitbucketServerConnectedRepositories angezeigt. Andernfalls finden Sie im Feld error einen detaillierten Fehlerbericht.

Wenn eine Verbindung zu einem Repository besteht, konfiguriert Cloud Build einen Webhook für das Repository in Ihrer Bitbucket Data Center-Instanz. Das Repository sendet dann Webhooks, um die entsprechenden Bitbucket Data Center-Trigger aufzurufen, wenn Sie Änderungen an Ihrem Repository vornehmen. Ein Repository kann auch mehrmals mit mehreren Hostverbindungen verbunden werden. Informationen zum Verwalten von Webhooks finden Sie unter Webhooks verwalten.

Um den Webhook zu finden, benötigen Sie die Webhook-ID. Die Webhook-ID für jedes verbundene Repository finden Sie in der BitbucketServerConfig.

Geben Sie den folgenden Befehl ein, um die Webhook-ID abzurufen:

gcloud alpha builds enterprise-config bitbucketserver describe CONFIG_NAME  --region=REGION

Wobei:

  • CONFIG_NAME ist der Name der Bitbucket-Rechenzentrumskonfiguration.
  • REGION ist die Region der Hostverbindung des Bitbucket-Rechenzentrums.

Nächste Schritte