Verbindung zu einem Bitbucket-Rechenzentrumshost herstellen

Mit Sammlungen den Überblick behalten Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.

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

Hinweis

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

    Aktivieren Sie die APIs

Einrichten

Bevor Sie Ihren Bitbucket Data Center-Host verbinden, müssen Sie einen API-Schlüssel anfordern, um eingehende Ereignisse von Bitbucket Data Center zu authentifizieren und zu akzeptieren. Darüber hinaus müssen Sie in Ihrem Google Cloud-Projekt IAM-Berechtigungen erteilen, um persönliche Zugriffstokens im Bitbucket-Rechenzentrum zu erstellen, um Webhooks zu erstellen und Repository-Daten abzurufen.

API-Schlüssel abrufen

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

So erhalten Sie einen API-Schlüssel:

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

    Ö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.

Persönliche Zugriffstokens erstellen

Für die folgenden Aufgaben müssen Sie im Bitbucket-Rechenzentrum zwei persönliche Zugriffstokens erstellen:

Diese persönlichen Zugriffstokens sind die erforderlichen Mindestberechtigungen. Sie können bei Bedarf zusätzliche Berechtigungen im Bitbucket-Rechenzentrum konfigurieren. Sie können beispielsweise Bitbucket Data Center-Konto auswählen, um nur auf einen Teil der Repositories in Ihrer Bitbucket Data Center-Instanz zuzugreifen, und können so genauer steuern, was in Cloud Build verfügbar ist.

Nachdem Sie Ihre persönlichen Zugriffstokens erstellt haben, sollten Sie Ihre Tokenwerte sicher speichern, um eine Verbindung zu Ihrem Bitbucket Data Center-Repository herzustellen.

Verbindung zu einem Bitbucket-Rechenzentrumshost herstellen

Console

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

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

    Seite „Repositories verwalten“ öffnen

  2. Klicken Sie auf Host verbinden.

    Das Steuerfeld Host verbinden wird angezeigt.

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

    • Host-URL: Ihre Host-URL der Bitbucket-Rechenzentrumsinstanz. Beispiel: https://bbs.example-test.com:7990
    • Google Cloud API-Schlüssel: Ihr API-Schlüssel zur Authentifizierung Ihrer Anmeldedaten.
    • 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 Abschnitt leer bleibt, wird ein Standardsatz von Zertifikaten verwendet.
    • Nutzername: Der Nutzername Ihres Bitbucket-Rechenzentrums. Dieses Konto sollte Administratorzugriff auf die Repositories haben, die Sie mit Cloud Build verbinden möchten.
    • Zugriffstoken für Lesezugriff: Das persönliche Zugriffstoken für Ihr Bitbucket-Rechenzentrum mit Leseberechtigungen.
    • Administrator-Zugriffstoken: Ihr persönliches Zugriffstoken für das Bitbucket-Rechenzentrum mit Administratorberechtigungen für Projekte und Repositories.
    • [OPTIONAL] Netzwerkprojekt: Ihre Netzwerkprojekt-ID für Ihr lokales Netzwerk.
    • [OPTIONAL] Netzwerkname: Ihr Netzwerkname für Ihr lokales Netzwerk.
  3. Klicken Sie auf Host verbinden.

    Wenn sich Ihre Bitbucket Data Center-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 sicher in Secret Manager gespeichert. Sie können Ihre Secrets auf der Seite Secret Manager aufrufen und verwalten.

gcloud

Wenn Sie Ihren Bitbucket-Rechenzentrumshost mit gcloud-Befehlen mit Cloud Build verbinden möchten, müssen Sie den Befehl gcloud alpha builds enterprise-config bitbucketserver create in Ihrem Terminal ausführen. Anders als bei der Verbindung Ihres Hosts über die Google Cloud Console müssen Sie Ihre persönlichen Zugriffstokens und Ihr Webhook-Secret manuell in Secret Manager speichern, bevor Sie den folgenden Befehl ausführen:

gcloud alpha builds enterprise-config bitbucketserver create
--name=BITBUCKET_DATA_CENTER_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

Wobei:

  • BITBUCKET_DATA_CENTER_CONFIG_NAME ist der Name Ihrer Bitbucket-Rechenzentrumskonfiguration.
  • USERNAME ist der Nutzername Ihres Bitbucket-Rechenzentrums.
  • HOST_URI ist der Host-URI Ihrer Bitbucket Data Center-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}. Sie können latest als Version angeben, um die neueste Version Ihres 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 Ihres 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 lokal eine Verbindung zu Ihren Bitbucket-Rechenzentrumsinstanzen hergestellt wird.
  • SSL_CA_FILE ist der Pfad zu einer lokalen Datei, die Ihr SSL-Zertifikat enthält, das für Anfragen an das Bitbucket-Rechenzentrum verwendet werden soll. Das Zertifikat muss im PEM-Format vorliegen.

API

Verwenden Sie die folgende JSON-Vorlage, um Ihren Bitbucket-Rechenzentrumshost über die API mit Cloud Build zu verbinden. Im Gegensatz zur Verbindung Ihres Hosts über die Google Cloud Console müssen Sie Ihre persönlichen Zugriffstokens und Ihr Webhook-Secret manuell in Secret Manager speichern, bevor Sie die API aufrufen:

  {
      "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
  }

Wobei:

  • HOST_URI ist der Host-URI Ihrer Bitbucket Data Center-Instanz.
  • USERNAME ist der Nutzername Ihres Bitbucket-Rechenzentrums.
  • 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 Secret-Rolle Ihrem Dienstkonto zuweisen.

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

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

  • [Optional] PEERED_NETWORK ist das VPC-Netzwerk, zu dem lokal eine Verbindung zu Ihren Bitbucket-Rechenzentrumsinstanzen hergestellt wird.

  • [Optional] SSL_CERTIFICATE ist das lokale SSL-Zertifikat für Ihre Bitbucket-Rechenzentrumsinstanzen.

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" https://cloudbuild.googleapis.com/v1/projects/${PROJECT_ID}/locations/global/bitbucketServerConfigs/?bitbucketServerConfigId=BITBUCKET_DATA_CENTER_CONFIG_NAME -d @config.json

Wobei:

  • PROJECT_ID ist die ID Ihres Cloud-Projekts.
  • BITBUCKET_DATA_CENTER_CONFIG_NAME ist der Name Ihrer Bitbucket-Rechenzentrumskonfiguration.

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

Geben Sie den folgenden curl-Befehl in Ihrem 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/global/operations/OPERATION_ID

Wobei:

  • PROJECT_NUMBER ist die Nummer Ihres Cloud-Projekts.
  • PROJECT_ID ist die ID Ihres Cloud-Projekts.
  • OPERATION_ID ist die ID des Bitbucket-Rechenzentrums-Konfigurationsvorgangs.

Möglicherweise müssen Sie den GetOperation API-Befehl weiter ausführen, bis die Antwort done: true enthält, was darauf hinweist, dass der Vorgang abgeschlossen ist. Wenn die Bitbucket-Rechenzentrumskonfiguration erfolgreich erstellt wurde, können Sie die Konfiguration im Feld response.value sehen. Einen ausführlichen Fehlerbericht finden Sie im Feld error.

Nächste Schritte