Verbindung zu einem Bitbucket Server-Repository herstellen

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

Hinweise

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

    Aktivieren Sie die APIs

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 Cloud Console 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 Server aus.

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

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

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

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

    4. Klicken Sie auf Weiter.

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

    6. Nachdem Sie Ihr Bitbucket Server-Konto und Ihre Bitbucket Server-Repositories ausgewählt haben, lesen Sie den Haftungsausschluss und klicken Sie das Kästchen daneben an, um die Nutzungsbedingungen zu akzeptieren.

    7. 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 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 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 Server-Konfiguration.
    • REGION ist die Region der Hostverbindung des Bitbucket Servers.
  5. Klicken Sie auf Fertig. Klicken Sie optional auf Trigger erstellen.

API

Führen Sie die folgenden Schritte aus, um Ihr Bitbucket Server-Repository über die API mit Cloud Build zu verbinden:

  1. Verwenden Sie die folgende JSON-Vorlage, um eine Verbindung zu Ihrem Repository herzustellen:

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

    Wobei:

    • PROJECT_NUMBER ist die Projektnummer Ihres Cloud-Projekts.
    • REGION ist die Region, die Ihrer Bitbucket Server-Konfiguration zugeordnet ist.
    • BITBUCKET_SERVER_CONFIG_NAME ist der Name Ihrer Bitbucket Server-Konfiguration.
    • PROJECT_KEY ist der Schlüssel Ihres Bitbucket Server-Projekts. Wenn Sie ein persönliches Repository verbinden möchten, sollte Ihr Projektschlüssel vor Ihrem Nutzernamen das Tildensymbol (~) enthalten. Beispiel: ~${USERNAME}. Die vollständige URL für ein Host-Repository könnte so aussehen: https://${HOST_URI}/projects/~${USER_NAME}/repos/${REPO_SLUG}.
    • REPO_SLUG ist der Slug Ihres Bitbucket Server-Repositorys.
  2. Geben Sie den folgenden curl-Befehl in Ihr 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/locations/REGION/bitbucketServerConfigs/BITBUCKET_SERVER_CONFIG_NAME/connectedRepositories:batchCreate -d @requests.json
    

    Wobei:

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

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

  3. Geben Sie den folgenden curl-Befehl in Ihr Terminal 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/REGION/operations/OPERATION_ID
    

    Wobei:

    • PROJECT_NUMBER ist die Nummer Ihres Cloud-Projekts.
    • PROJECT_ID ist die ID Ihres Cloud-Projekts.
    • REGION ist die Region, die Ihrer Bitbucket Server-Konfiguration zugeordnet ist.
    • OPERATION_ID ist die ID der Erstellung der Bitbucket Server-Konfiguration. Sie finden die Vorgangs-ID im Feld name Ihrer 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 API-Befehl GetOperation so lange ausführen, bis die Antwort done: true enthält. Das bedeutet, dass der Vorgang abgeschlossen ist. Wenn die Verbindung zum Bitbucket Server-Repository hergestellt wurde, wird das verbundene Repository im Feld response.bitbucketServerConnectedRepositories angezeigt. Andernfalls finden Sie im Feld error einen detaillierten Fehlerbericht.

Nächste Schritte