Verbindung zu einem Bitbucket Data Center-Host herstellen

Auf dieser Seite wird erläutert, wie Sie einen Host von Bitbucket Data Center mit Cloud Build verbinden.

Hinweise

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

    Aktivieren Sie die APIs

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

Verbindung zu einem Bitbucket Data Center-Host herstellen

Console

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

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

    Zur Seite „Repositories“

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

  3. Klicken Sie auf Host verbinden.

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

    Das Steuerfeld Host verbinden wird angezeigt.

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

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

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

    3. Host-URL: Ihre Host-URL Ihrer Bitbucket Data Center-Instanz. Beispiel: https://bbs.example-test.com:7990

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

    5. CA Certificate (CA-Zertifikat): Ihr selbst signiertes Zertifikat. Ihr Zertifikat darf nicht größer als 10 KB sein und muss 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 Ihr persönliches Zugriffstoken mit Leseberechtigungen für Ihr Bitbucket Data Center-Konto ein.

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

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

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

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

        2. Netzwerk: Wählen Sie Ihr Netzwerk aus dem Drop-down-Menü aus. Wenn Sie noch kein Netzwerk erstellt haben, finden Sie unter VPC-Netzwerke erstellen und verwalten Informationen zur Erstellung eines Netzwerks.

        3. IP-Bereich: Geben Sie den internen IP-Bereich ein, den VMs innerhalb des zugewiesenen Bereichs eines Peering-Netzwerks zugewiesen werden können.

          Sie können den Bereich mit der CIDR-Routing-Notation (Classless Inter-Domain Routing) im Format STARTING_IP/SUBNET_PREFIX_SIZE angeben. Beispiel: 192.0.2.0/24 hat 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 der Präfixlänge darf /29 nicht überschreiten. Wenn für den Bereich kein Wert angegeben ist, wird automatisch der Standardwert /24 zugewiesen. Wenn für die Präfixlänge kein Wert angegeben ist, werden IP-Adressen innerhalb des Peering-VPC-Netzwerk automatisch zugewiesen. Wenn für die IP-Adresse kein Wert angegeben ist, wird der IP-Adresse automatisch ein Bereich innerhalb des Peering-VPC-Netzwerk zugewiesen.

  5. Klicken Sie auf Host verbinden.

    Wenn sich Ihre Bitbucket Data Center-Instanz in einem Peering-Netzwerk befindet, kann die Verbindung zum Host 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 ansehen und verwalten.

gcloud

Wenn Sie den Host des Bitbucket Data Center mit Cloud Build mithilfe von gcloud-Befehlen verbinden möchten, müssen Sie den Befehl gcloud alpha builds enterprise-config bitbucketserver create in Ihrem Terminal ausführen. Anders als beim Verbinden 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 Data Center-Konfiguration.
  • USERNAME ist Ihr Bitbucket Data Center-Nutzername.
  • HOST_URI ist der Host-URI Ihrer Bitbucket Data Center-Instanz.
  • ADMIN_ACCESS_TOKEN_SECRET_VERSION ist der Ressourcenname Ihres Administratorzugriffstokens, 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 Ihres Zugriffstokens, das in Secret Manager gespeichert ist.
  • WEBHOOK_SECRET_SECRET_VERSION ist der Ressourcenname Ihres Webhook-Secrets, das in Secret Manager gespeichert ist.
  • API_KEY ist der Google Cloud API-Schlüssel.
  • Optional: PEERED_NETWORK ist das VPC-Netzwerk, zu dem Sie eine Verbindung für Ihre lokalen Bitbucket Data Center-Instanzen herstellen möchten. Weitere Informationen finden Sie unter Repositories aus Bitbucket Data Center in einem privaten Netzwerk erstellen.

  • Optional: PEERED_NETWORK_IP_RANGE ist der interne IP-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 Ihr SSL-Zertifikat für Anfragen an Bitbucket Data Center enthält. Das Zertifikat muss 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 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 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 Data Center-Instanz.
  • USERNAME ist Ihr Bitbucket Data Center-Nutzername.
  • 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-Dienstkonto service-${PROJECT_NUMBER}@gcp-sa-cloudbuild.iam.gserviceaccount.com die Rolle „Secret Manager“ zuweisen. Weitere Informationen finden Sie unter Ihrem Dienstkonto die Rolle „Secret Manager“ zuweisen.

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

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

  • Optional: PEERED_NETWORK ist das VPC-Netzwerk, zu dem Sie eine Peering-Verbindung für Ihre lokalen Bitbucket Data Center-Instanzen herstellen möchten.

    Sie können den Bereich mit der Routingnotation „Classless Inter-Domain Routing“ (CIDR) im Format STARTING_IP/SUBNET_PREFIX_SIZE angeben. Beispielsweise hat 192.0.2.0/24 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.225 reichen.

  • Optional: PEERED_NETWORK_IP_RANGE ist der interne IP-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 Ihr 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 Ihrer Bitbucket Data Center-Konfiguration zugeordnet ist.
  • BITBUCKET_DATA_CENTER_CONFIG_NAME ist der Name Ihrer Bitbucket Data Center-Konfiguration.

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

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 Google Cloud-Projekts.
  • PROJECT_ID ist Ihre Google Cloud-Projekt-ID.
  • REGION ist die Region, die Ihrer Bitbucket Data Center-Konfiguration zugeordnet ist.
  • OPERATION_ID ist die ID der Konfigurationserstellung im Bitbucket Data Center.

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

Nächste Schritte