Verbindung zu einem Bitbucket-Rechenzentrumshost herstellen

Auf dieser Seite wird erläutert, wie Sie einen Bitbucket Data Center-Host 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 Data Center-Repository bereit.
  • Sie benötigen entweder eine Dockerfile oder eine Cloud Build-Konfigurationsdatei in Ihrem Bitbucket Data Center-Quell-Repository.
  • Wenn Sie keine Bitbucket Data Center-Instanz installiert haben, finden Sie eine Anleitung unter Bitbucket Data Center installieren.
  • Wenn Sie die 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 mit Cloud Build über die Google Cloud Console:

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

    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 Feld 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: Die 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-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. Read access token (Lesezugriffstoken): Geben Sie das persönliche Zugriffstoken Ihres Bitbucket Data Center-Kontos mit Leseberechtigungen ein.

    8. Admin access token (Admin-Zugriffstoken): Geben Sie das persönliche Zugriffstoken Ihres Bitbucket Data Center-Kontos 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 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 eine Anleitung dazu.

        3. IP-Bereich: Geben Sie den internen IP-Bereich ein, der VMs innerhalb des zugewiesenen Bereichs eines per Peering verbundenen 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 kein Wert für den Bereich angegeben ist, wird automatisch der Standardwert /24 zugewiesen. Wenn kein Wert für die Präfixlänge angegeben ist, werden IP-Adressen automatisch im VPC-Netzwerk mit Peering zugewiesen. Wenn kein Wert für die IP-Adresse angegeben ist, wird der IP-Adresse automatisch ein Bereich innerhalb des per Peering verbundenen VPC-Netzwerk zugewiesen.

  5. Klicken Sie auf Host verbinden.

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

gcloud

Wenn Sie Ihren Bitbucket Data Center-Host 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. Im Gegensatz zur Verbindung Ihres Hosts über dieGoogle Cloud -Konsole 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 in 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. Dies gilt für jede in Secret Manager gespeicherte Ressource.
  • READ_ACCESS_TOKEN_SECRET_VERSION ist der Ressourcenname Ihres im Secret Manager gespeicherten Lesezugriffstokens.
  • WEBHOOK_SECRET_SECRET_VERSION ist der Ressourcenname Ihres im Secret Manager gespeicherten Webhook-Secrets.
  • API_KEY ist der Google Cloud API-Schlüssel.
  • Optional: PEERED_NETWORK ist das VPC-Netzwerk, mit dem Sie eine Verbindung zu Ihren lokalen Bitbucket Data Center-Instanzen herstellen möchten. 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 für Anfragen an Bitbucket Data Center enthält. Das Zertifikat sollte im PEM-Format vorliegen.

API

Wenn Sie Ihren Bitbucket Data Center-Host über die API mit Cloud Build verbinden möchten, verwenden Sie die folgende JSON-Vorlage. Im Gegensatz zur Verbindung Ihres Hosts über die Google Cloud -Konsole 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 in Secret Manager gespeicherten Administratorzugriffstokens. Möglicherweise müssen Sie Ihrem Cloud Build-Dienst-Agenten 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 im Secret Manager gespeicherten Lesezugriffstokens.

  • WEBHOOK_SECRET_SECRET_VERSION ist der Ressourcenname Ihres im Secret Manager gespeicherten Webhook-Secrets.

  • Optional: PEERED_NETWORK ist das VPC-Netzwerk, mit dem Ihre lokalen Bitbucket Data Center-Instanzen per Peering verbunden werden sollen.

    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 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 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 Ihre Google Cloud Projektnummer.
  • PROJECT_ID ist die Projekt-ID Ihres Google Cloud .
  • REGION ist die Region, die Ihrer Bitbucket Data Center-Konfiguration zugeordnet 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. Das 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