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.
- 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:
Öffnen Sie in der Google Cloud Console die Seite Repositories:
Wähle 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 Feld Host verbinden wird angezeigt.
Geben Sie die folgenden Informationen ein, um Ihre Bitbucket Data Center-Instanz mit Cloud Build zu verbinden:
Region: Wählen Sie die Region für Ihre Verbindung aus.
Name: Geben Sie einen Namen für die Verbindung ein.
Host-URL: Die Host-URL Ihrer Bitbucket Data Center-Instanz. Beispiel:
https://bbs.example-test.com:7990
Google Cloud API-Schlüssel: Geben Sie den API-Schlüssel ein, der zur Authentifizierung Ihrer Anmeldedaten verwendet wird.
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.
Read access token (Lesezugriffstoken): Geben Sie das persönliche Zugriffstoken Ihres Bitbucket Data Center-Kontos mit Leseberechtigungen ein.
Admin access token (Admin-Zugriffstoken): Geben Sie das persönliche Zugriffstoken Ihres Bitbucket Data Center-Kontos 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 Ihre Google Cloud Projekt-ID aus.
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.
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 von192.0.2.0
bis192.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.
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önnenlatest
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 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 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
- Informationen zum Verbinden eines Bitbucket Data Center-Repositorys
- Blau/Grün-Bereitstellungen in Compute Engine durchführen