Verbindung zu einem Bitbucket Data Center-Host herstellen

Auf dieser Seite wird erläutert, wie Sie eine Verbindung Bitbucket-Rechenzentrum zu Cloud Build.

Hinweise

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

    Enable the APIs

  • Halten Sie Ihren Quellcode in einem Bitbucket-Rechenzentrum-Repository bereit.
  • Sie benötigen entweder eine Dockerfile oder eine Cloud Build-Konfigurationsdatei in Ihrem Bitbucket Data Center-Quell-Repository.
  • Wenn Sie noch keine Bitbucket Data Center-Instanz installiert haben, finden Sie unter Bitbucket Data Center installieren eine Anleitung.
  • Wenn Sie die gcloud-Befehle auf dieser Seite verwenden möchten, müssen Sie die Google Cloud CLI installieren.

Verbindung zu einem Bitbucket Data Center-Host herstellen

Console

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

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

    Zur Seite „Repositories“

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

  3. Klicken Sie auf Host verbinden.

  4. Wählen Sie im Drop-down-Menü Bitbucket Data Center aus.

    Das Steuerfeld Host verbinden wird angezeigt.

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

    1. Region: Wählen Sie die Region für die Verbindung aus.

    2. Name: Geben Sie einen Namen für die Verbindung ein.

    3. Host-URL: Die Host-URL Ihrer Bitbucket-Rechenzentrums-Instanz. Beispiel: https://bbs.example-test.com:7990

    4. Google Cloud API key (Google Cloud API-Schlüssel): Geben Sie den API-Schlüssel ein, der zur Authentifizierung Ihrer Anmeldedaten.

    5. CA-Zertifikat: Ihr selbst signiertes Zertifikat. Ihr Zertifikat darf nicht größer als 10 KB und sollte im PEM-Format (.pem, .cer oder .crt) vorliegen. Wenn Sie diesen Abschnitt leer lassen, verwendet Google Cloud ein Zertifikat aus dem Standardsatz von Zertifikaten.

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

    7. Lesezugriffstoken: Geben Sie das private Bitbucket Data Center-Konto ein. Zugriffstoken mit Leseberechtigungen.

    8. Admin access token (Administratorzugriffstoken): Geben Sie Ihr Bitbucket Data Center-Konto ein. persönliches Zugriffstoken mit Administratorberechtigungen für Projekte und Repositories.

    9. Wählen Sie unter Netzwerktyp eine der folgenden Optionen aus:

      1. Öffentliches Internet: Wählen Sie diese Option aus, wenn Ihre Instanz über das öffentliche Internet zugänglich sind.

      2. Privates Netzwerk: Wählen Sie diese Option aus, wenn Ihre Instanz in einem privaten Netzwerk gehostet wird.

        1. Projekt: Wählen Sie Ihre Google Cloud-Projekt-ID aus.

        2. Netzwerk: Wählen Sie im Drop-down-Menü Ihr Netzwerk aus. Wenn Sie noch kein Netzwerk erstellt haben, finden Sie unter VPC-Netzwerke erstellen und verwalten eine entsprechende Anleitung.

        3. IP-Bereich: Geben Sie den internen IP-Bereich ein, der VMs innerhalb des zugewiesenen Bereichs eines Peer-Netzwerks zugewiesen werden kann.

          Sie können den Bereich mit der CIDR-Notation (Classless Inter-Domain Routing) im Format STARTING_IP/SUBNET_PREFIX_SIZE angeben. 192.0.2.0/24 hat beispielsweise eine Präfixlänge von 24. Die ersten 24 Bit des IP-Bereichs werden als Subnetzmaske (192.0.2.0) verwendet, während die möglichen Hostadressen von 192.0.2.0 bis 192.0.2.255 reichen.

          Der Wert für die Präfixlänge darf /29 nicht überschreiten. Wenn für den Bereich kein Wert angegeben wird, wird automatisch der Standardwert /24 zugewiesen. Wenn kein Wert für die Präfixlänge angegeben ist, werden innerhalb des Peering-VPC-Netzwerk automatisch IP-Adressen zugewiesen. Wenn für die IP-Adresse kein Wert angegeben ist, wird der IP-Adresse automatisch ein Bereich innerhalb des Peering-VPC-Netzwerks zugewiesen.

  5. Klicken Sie auf Host verbinden.

    Wenn sich Ihre Bitbucket Data Center-Instanz in einem Peering-Netzwerk befindet, wird eine Verbindung kann es einige Minuten dauern, bis der Vorgang abgeschlossen ist.

    Sie werden zum Bereich Repository verbinden weitergeleitet.

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

gcloud

So verbinden Sie Ihren Bitbucket Data Center-Host mit Cloud Build: Mit gcloud-Befehlen müssen Sie den gcloud alpha builds enterprise-config bitbucketserver create in Ihrem Terminal. Anders als bei der Verbindung Ihres Hosts über die Google Cloud Console müssen Sie Ihre persönlichen Zugriffstokens und das 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 \
    --peered-network-ip-range=PEERED_NETWORK_IP_RANGE \
    --ssl-ca-file=SSL_CA_FILE

Wobei:

  • BITBUCKET_DATA_CENTER_CONFIG_NAME ist der Name Ihrer Bitbucket-Rechenzentrumskonfiguration.
  • USERNAME ist Ihr Nutzername für Bitbucket Data Center.
  • HOST_URI ist der Host-URI Ihrer Bitbucket Data Center-Instanz.
  • ADMIN_ACCESS_TOKEN_SECRET_VERSION ist der Ressourcenname Ihres in Secret Manager gespeichertes Administrator-Zugriffstoken. 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 von zu verwenden. Ihr Geheimnis. Das gilt für jede in Secret Manager gespeicherte Ressource.
  • READ_ACCESS_TOKEN_SECRET_VERSION ist der Ressourcenname des Lesezugriffstokens, das in Secret Manager gespeichert ist.
  • WEBHOOK_SECRET_SECRET_VERSION ist der Ressourcenname Ihres Webhook-Secrets, das im Secret Manager gespeichert ist.
  • API_KEY ist der Google Cloud API-Schlüssel.
  • Optional: PEERED_NETWORK ist das VPC-Netzwerk, zu dem Sie Ihre lokalen Bitbucket Data Center-Instanzen verbinden. Weitere Informationen finden Sie unter Repositories aus Bitbucket Data Center in einem privaten Netzwerk erstellen.

  • Optional: PEERED_NETWORK_IP_RANGE ist die interne IP-Adresse. Bereich, dem VMs innerhalb des zugewiesenen Bereichs eines Peering-Netzwerks zugewiesen werden können.

  • SSL_CA_FILE ist der Pfad zu einer lokalen Datei, die Folgendes enthält: Ihr SSL-Zertifikat für Anfragen an Bitbucket Data Center. Das Zertifikat sollte im PEM-Format vorliegen.

API

Verwenden Sie die folgende JSON-Vorlage, um Ihren Bitbucket Data Center-Host über die API mit Cloud Build zu verbinden. Anders als beim Verbinden mithilfe der Google Cloud Console hosten, müssen Sie Ihre persönlichen Zugriffstokens und Webhook-Secrets in Secret Manager, 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",
    "peeredNetworkIpRange": "PEERED_NETWORK_IP_RANGE",
    "sslCa": "SSL_CERTIFICATE"
}

Wobei:

  • HOST_URI ist der Host-URI Ihrer Bitbucket-Rechenzentrums-Instanz.
  • USERNAME ist Ihr Nutzername für Bitbucket Data Center.
  • API_KEY ist der Google Cloud API-Schlüssel.
  • ADMIN_ACCESS_TOKEN_SECRET_VERSION ist der Ressourcenname Ihres Administratorzugriffstokens, das in Secret Manager gespeichert ist. Möglicherweise müssen Sie Ihrem Cloud Build-Dienst-Agent service-${PROJECT_NUMBER}@gcp-sa-cloudbuild.iam.gserviceaccount.com die Rolle Zugriffsperson für Secret Manager-Secret zuweisen. Weitere Informationen finden Sie unter Dienstkonto die Rolle Secret Manager zuweisen.

  • READ_ACCESS_TOKEN_SECRET_VERSION ist der Ressourcenname Ihres Lesezugriffstokens, das in Secret Manager gespeichert ist.

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

  • Optional: PEERED_NETWORK ist das VPC-Netzwerk, das für Ihre lokalen Bitbucket Data Center-Instanzen verwendet werden soll.

    Sie können den Bereich mit dem Classless Inter-Domain Routing (CIDR) angeben Routing-Notation im Format STARTING_IP/SUBNET_PREFIX_SIZE. Beispiel: 192.0.2.0/24 hat eine Präfixlänge von 24. Die ersten 24 Bits des IP-Bereichs werden als Subnetzmaske (192.0.2.0) verwendet, während die möglichen Hostadressen liegen zwischen 192.0.2.0 und 192.0.2.225.

  • Optional: PEERED_NETWORK_IP_RANGE ist die interne IP-Adresse. Bereich, dem VMs innerhalb des zugewiesenen Bereichs eines Peering-Netzwerks zugewiesen werden können.

  • Optional: SSL_CERTIFICATE ist das SSL-Zertifikat, das für Ihre lokalen Bitbucket Data Center-Instanzen verwendet wird.

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/REGION/bitbucketServerConfigs/?bitbucketServerConfigId=BITBUCKET_DATA_CENTER_CONFIG_NAME -d @config.json

Wobei:

  • PROJECT_ID ist Ihre Google Cloud-Projekt-ID.
  • REGION ist die Region, die mit Ihrer Bitbucket-Rechenzentrumskonfiguration verknüpft ist.
  • 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/REGION/operations/OPERATION_ID

Wobei:

  • PROJECT_NUMBER ist die Nummer Ihres Google Cloud-Projekts.
  • PROJECT_ID ist Ihre Google Cloud-Projekt-ID.
  • REGION ist die Region, die mit Ihrer Bitbucket Data Center-Konfiguration verknüpft ist.
  • OPERATION_ID ist die ID des Konfigurationserstellungsvorgangs für das Bitbucket Data Center.

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

Nächste Schritte