Verbindung zu einem Bitbucket-Rechenzentrumshost herstellen

Auf dieser Seite wird erläutert, wie Sie einen Bitbucket-Rechenzentrumshost mit Cloud Build verbinden.

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-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:

    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 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-Schlüssel: Gib den API-Schlüssel ein, mit dem deine Anmeldedaten authentifiziert werden.

    5. CA-Zertifikat: Ihr selbst signiertes Zertifikat. Ihr Zertifikat darf nicht größer als 10 KB sein und sollte das PEM-Format (.pem, .cer oder .crt) haben. 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 persönliche Zugriffstoken Ihres Bitbucket-Rechenzentrumskontos mit Leseberechtigungen ein.

    8. Administratorzugriffstoken: Geben Sie das persönliche Zugriffstoken Ihres Bitbucket-Rechenzentrumskontos 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 Ihre Instanz in einem privaten Netzwerk gehostet wird.

        1. Projekt: Wählen Sie die Projekt-ID Ihrer Google Cloud 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.

          Die Länge des Präfixes darf /29 nicht überschreiten. Wenn für den Bereich kein Wert angegeben wird, wird automatisch der Standardwert /24 zugewiesen. Wenn für die Präfixlänge kein Wert angegeben ist, werden IP-Adressen automatisch innerhalb des Peering-VPC-Netzwerk 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 die 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 das Webhook-Secret sicher in Secret Manager gespeichert. Sie können Ihre Secrets auf der Seite Secret Manager ansehen und verwalten.

gcloud

Wenn Sie Ihren Bitbucket Data Center-Host mithilfe von 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 dieGoogle Cloud -Console müssen Sie Ihre persönlichen Zugriffstokens und das Webhook-Secret manuell im 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 Bitbucket-Rechenzentrumsnutzername.
  • HOST_URI ist der Host-URI Ihrer Bitbucket-Rechenzentrums-Instanz.
  • ADMIN_ACCESS_TOKEN_SECRET_VERSION ist der Ressourcenname Ihres im Secret Manager gespeicherten Administratorzugriffstokens. 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. 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 API-Schlüssel für Google Cloud .
  • Optional: PEERED_NETWORK ist das VPC-Netzwerk, mit dem Ihre lokalen Bitbucket Data Center-Instanzen verbunden werden sollen. Weitere Informationen finden Sie unter Repositories über Bitbucket Data Center in einem privaten Netzwerk erstellen.

  • Optional: PEERED_NETWORK_IP_RANGE ist der interne IP-Bereich, der VMs innerhalb des zugewiesenen Bereichs eines Peering-Netzwerks zugewiesen werden kann.

  • 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 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 bei der Verbindung Ihres Hosts über die Google Cloud -Console müssen Sie Ihre persönlichen Zugriffstokens und das Webhook-Secret manuell im 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-Rechenzentrums-Instanz.
  • USERNAME ist Ihr Bitbucket-Rechenzentrumsnutzername.
  • API_KEY ist der API-Schlüssel für Google Cloud .
  • 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 der CIDR-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 Bits 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, der VMs innerhalb des zugewiesenen Bereichs eines Peering-Netzwerks zugewiesen werden kann.

  • 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 die Projekt-ID Ihres Google Cloud -Kontos.
  • 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 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 Projektnummer Ihres Google Cloud -Projekts.
  • PROJECT_ID ist die Projekt-ID Ihres Google Cloud -Kontos.
  • 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.

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

Nächste Schritte