Auf dieser Seite wird beschrieben, wie Sie eine Verbindung zu einem Bitbucket Data Center-Repository in Cloud Build herstellen.
Hinweise
-
Enable the Cloud Build, Secret Manager, and Compute Engine APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles.
- Folgen Sie der Anleitung zum Verbinden eines Bitbucket Data Center-Hosts, bevor Sie eine Verbindung zu einem Repository herstellen.
Verbindung zu einem Bitbucket Data Center-Repository herstellen
Console
So verbinden Sie ein Bitbucket Data Center-Repository mit Cloud Build über die Google Cloud -Konsole:
Öffnen Sie in der Google Cloud Console die Seite Repositories.
Wähle oben auf der Seite den Tab 1. Generation aus.
Klicken Sie auf Repository verbinden.
Wählen Sie Bitbucket Data Center aus.
Das Feld Repository verbinden wird angezeigt. Führen Sie die folgenden Schritte aus, um eine Verbindung zu Ihrem Bitbucket Data Center-Repository herzustellen:
Region: Wählen Sie die Region aus, in der sich Ihre Verbindung befindet.
Wählen Sie unter Anbieter für Quellcodeverwaltung auswählen die Option Bitbucket Data Center aus.
Hostverbindung: Wählen Sie den Namen Ihrer Hostverbindung aus dem Drop-down-Menü aus.
Klicken Sie auf Weiter.
Wählen Sie unter Repository auswählen die Bitbucket Data Center-Repositories aus, die Sie mit Cloud Build verbinden möchten.
Lesen Sie nach dem Auswählen des Bitbucket Data Center-Kontos und der Repositories den Haftungsausschluss und klicken Sie anschließend das Kästchen daneben an, um die Nutzungsbedingungen zu akzeptieren.
Klicken Sie auf Verbinden, um Ihre Repositories zu verbinden.
Klicken Sie auf Fertig. Klicken Sie optional auf Trigger erstellen, um einen Trigger zu erstellen.
API
So verbinden Sie Ihr Bitbucket Data Center-Repository über die API mit Cloud Build:
Erstellen Sie eine package.json-Datei mit folgendem Inhalt:
{ "parent": "projects/PROJECT_NUMBER/locations/REGION/bitbucketServerConfigs/BITBUCKET_DATA_CENTER_CONFIG_NAME", "requests": { "parent": "projects/PROJECT_NUMBER/locations/REGION/bitbucketServerConfigs/BITBUCKET_DATA_CENTER_CONFIG_NAME", "bitbucketServerConnectedRepository": { "parent": "projects/PROJECT_NUMBER/locations/REGION/bitbucketServerConfigs/BITBUCKET_DATA_CENTER_CONFIG_NAME", "repo": { "projectKey":"PROJECT_KEY", "repoSlug": "REPO_SLUG", } } } }
Wobei:
- PROJECT_NUMBER ist die Projektnummer Ihres Cloud-Projekts.
- 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.
- PROJECT_KEY ist der Schlüssel Ihres Bitbucket Data Center-Projekts. Wenn Sie ein privates Repository verbinden möchten, muss Ihr Projektschlüssel das Tilde-Symbol (
~
) vor Ihrem Nutzernamen enthalten. Beispiel:~${USERNAME}
. Die vollständige URL für ein Host-Repository sieht etwa so aus:https://${HOST_URI}/projects/~${USER_NAME}/repos/${REPO_SLUG}
. - REPO_SLUG ist der Slug Ihres Bitbucket Data Center-Repositorys.
Führen Sie den folgenden
curl
-Befehl im Terminal im selben Verzeichnis wie die JSON-Datei aus:
curl -X POST -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/bitbucketServerConfigs/BITBUCKET_DATA_CENTER_CONFIG_NAME/connectedRepositories:batchCreate -d @requests.json
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.
- BITBUCKET_DATA_CENTER_CONFIG_NAME ist der Name Ihrer Bitbucket Data Center-Konfiguration. Bei erfolgreicher Ausführung enthält der Antworttext eine neu erstellte Instanz von Operation.
Führen Sie im Terminal den folgenden
curl
-Befehl aus: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 -ID.
- 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. Sie finden die Vorgangs-ID im Feld
name
Ihrer Antwort. Das Format des Feldsname
in Ihrer Antwort sieht so aus:projects/project-id/locations/region/operations/operation-id
.
Möglicherweise müssen Sie den API-Befehl
GetOperation
so lange ausführen, bis die Antwortdone: true
enthält. Das bedeutet, dass der Vorgang abgeschlossen ist. Wenn das Bitbucket Data Center-Repository erfolgreich verbunden wurde, sehen Sie das verbundene Repository im Feldresponse.bitbucketServerConnectedRepositories
. Andernfalls finden Sie im Felderror
einen detaillierten Fehlerbericht.
Wenn ein Repository verbunden ist, konfiguriert Cloud Build einen Webhook für das Repository in Ihrer Bitbucket Data Center-Instanz. Das Repository sendet dann Webhooks, um die entsprechenden Bitbucket Data Center-Trigger aufzurufen, wenn Sie Änderungen an Ihrem Repository vornehmen. Ein Repository kann auch mehrmals mit mehreren Hostverbindungen verbunden werden. Informationen zum Verwalten von Webhooks finden Sie unter Webhooks verwalten.
Um den Webhook zu finden, benötigen Sie die Webhook-ID. Die Webhook-ID für jedes verbundene Repository finden Sie in BitbucketServerConfig
.
Geben Sie den folgenden Befehl ein, um die Webhook-ID abzurufen:
gcloud alpha builds enterprise-config bitbucketserver describe CONFIG_NAME --region=REGION
Wobei:
- CONFIG_NAME ist der Name der Bitbucket Data Center-Konfiguration.
- REGION ist die Region der Bitbucket Data Center-Hostverbindung.
Nächste Schritte
- Repositories über Bitbucket Data Center erstellen
- Repositories über Bitbucket Data Center in einem privaten Netzwerk erstellen
- Blau/Grün-Bereitstellungen in Compute Engine durchführen