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.
- 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:
Öffnen Sie in der Google Cloud -Console die Seite Repositories:
Wählen Sie oben auf der Seite den Tab 1. Generation aus.
Klicken Sie auf Host verbinden.
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:
Region: Wählen Sie die Region für die Verbindung aus.
Name: Geben Sie einen Namen für die Verbindung ein.
Host-URL: Die Host-URL Ihrer Bitbucket-Rechenzentrums-Instanz. Beispiel:
https://bbs.example-test.com:7990
Google Cloud API-Schlüssel: Gib den API-Schlüssel ein, mit dem deine Anmeldedaten authentifiziert werden.
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.Nutzername: Der Nutzername Ihres Bitbucket Data Center-Kontos. Dieses Konto sollte Administratorzugriff auf die Repositories haben, die Sie mit Cloud Build verbinden möchten.
Lesezugriffstoken: Geben Sie das persönliche Zugriffstoken Ihres Bitbucket-Rechenzentrumskontos mit Leseberechtigungen ein.
Administratorzugriffstoken: Geben Sie das persönliche Zugriffstoken Ihres Bitbucket-Rechenzentrumskontos mit Administratorberechtigungen für Projekte und Repositories ein.
Wählen Sie unter Netzwerktyp eine der folgenden Optionen aus:
Öffentliches Internet: Wählen Sie diese Option aus, wenn Ihre Instanz über das öffentliche Internet zugänglich ist.
Privates Netzwerk: Wählen Sie diese Option aus, wenn Ihre Instanz in einem privaten Netzwerk gehostet wird.
Projekt: Wählen Sie die Projekt-ID Ihrer Google Cloud aus.
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.
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 von192.0.2.0
bis192.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.
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önnenlatest
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 von192.0.2.0
bis192.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
- Weitere Informationen zum Verbinden eines Bitbucket Data Center-Repositories
- Weitere Informationen zu Blau/Grün-Bereitstellungen in der Compute Engine