En esta página, se explica cómo conectarse a un repositorio del centro de datos de Bitbucket en Cloud Build.
Antes de comenzar
-
Enable the Cloud Build, Secret Manager, and Compute Engine APIs.
- Sigue las instrucciones para conectar un host de Bitbucket Data Center antes de conectar un repositorio.
Conéctate a un repositorio de Bitbucket Data Center
Console
Para conectar un repositorio de Bitbucket Data Center a Cloud Build con la consola de Google Cloud, sigue estos pasos:
Abre la página Repositorios en la consola de Google Cloud.
En la parte superior de la página, selecciona la pestaña 1ª gen.
Haz clic en Conectar repositorio.
Selecciona Centro de datos de Bitbucket.
Verás el panel Conectar repositorio. Completa lo siguiente pasos para conectar tu repositorio de Bitbucket Data Center:
Región: Selecciona la región en la que se encuentra tu conexión.
En Selecciona el proveedor de administración de código fuente, selecciona Bitbucket. Centro de datos.
Conexión de host: Selecciona el nombre de tu conexión de host desde menú desplegable.
Haga clic en Continuar.
En Select Repository, selecciona los repositorios de Bitbucket Data Center que quieres conectar a Cloud Build.
Cuando hayas seleccionado la cuenta y los repositorios de Bitbucket Data Center, lee la renuncia de responsabilidad de consentimiento y selecciona la casilla de verificación junto a ella para indicar que aceptas las condiciones presentadas.
Haz clic en Conectar para conectar tus repositorios.
Haz clic en Listo. De manera opcional, haz clic en Crear un activador para crear uno.
API
Para conectar el repositorio del centro de datos de Bitbucket a Cloud Build mediante la API, completa los siguientes pasos:
Crea un archivo JSON con el siguiente contenido:
{ "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", } } } }
Aquí:
- PROJECT_NUMBER es el número de proyecto de tu proyecto de Cloud.
- REGION es la región. asociada con la configuración del centro de datos de Bitbucket.
- BITBUCKET_DATA_CENTER_CONFIG_NAME es el nombre de tu configuración de Bitbucket Data Center.
- PROJECT_KEY es la clave de tus datos de Bitbucket
de Google Cloud. Si quieres conectar un repositorio personal, tu proyecto
debe contener el símbolo de virgulilla (
~
) antes de tu nombre de usuario. Por ejemplo,~${USERNAME}
. La URL completa para un repositorio de host es similar ahttps://${HOST_URI}/projects/~${USER_NAME}/repos/${REPO_SLUG}
. - REPO_SLUG es el slug de tu repositorio de Bitbucket Data Center.
Ejecuta el siguiente comando
curl
en la terminal desde el mismo directorio. como el archivo JSON:
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
Aquí:
- PROJECT_NUMBER es tu proyecto de Google Cloud. de la fila.
- PROJECT_ID es el ID del proyecto de Google Cloud.
- REGION es la región. asociada con la configuración del centro de datos de Bitbucket.
- BITBUCKET_DATA_CENTER_CONFIG_NAME es el nombre de la configuración de tu centro de datos de Bitbucket. Si el proceso es satisfactorio, el cuerpo de la respuesta contiene una instancia recién creada de Operación:
Ejecuta el siguiente comando
curl
en la terminal: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
Aquí:
- PROJECT_NUMBER es tu proyecto de Google Cloud. de la fila.
- PROJECT_ID es tu ID de Google Cloud.
- REGION es la región. asociada con la configuración del centro de datos de Bitbucket.
- OPERATION_ID es el ID de tus datos de Bitbucket
de creación de la configuración de Google Center. Puedes encontrar el ID de operación
en el campo
name
de tu respuesta. El formato del camponame
en tu respuesta se ve de la siguiente manera:projects/project-id/locations/region/operations/operation-id
.
Es posible que debas seguir ejecutando el comando
GetOperation
de la API hasta que contienedone: true
, lo que indica que la operación está el proyecto se completó. Si el repositorio del centro de datos de Bitbucket está conectado con éxito, puedes ver el repositorio conectado en elresponse.bitbucketServerConnectedRepositories
. De lo contrario, consulta laerror
para obtener un informe de errores detallado.
Cuando se conecta un repositorio, Cloud Build configura un webhook en el repositorio de tu instancia de Bitbucket Data Center. Luego, el repositorio envía webhooks para invocar los activadores correspondientes de Bitbucket Data Center cuando cuando realices cambios en tu repositorio. Un repositorio también se puede conectar varias veces con varias conexiones de host. Para aprender a administrar webhooks, consulta Administra webhooks.
Para ubicar el webhook, necesitas el ID del webhook. El ID del webhook de cada repositorio conectado se puede encontrar en BitbucketServerConfig
.
Ingresa el siguiente comando para recuperar el ID de webhook:
gcloud alpha builds enterprise-config bitbucketserver describe CONFIG_NAME --region=REGION
Aquí:
- CONFIG_NAME es el nombre de los datos de Bitbucket. Configuración del centro
- REGION es la región de los datos de Bitbucket Conexión de host central
¿Qué sigue?
- Obtén más información sobre cómo compilar repositorios desde Bitbucket Data Center.
- Obtén más información sobre cómo compilar repositorios de Bitbucket Data Center en una red privada.
- Aprende a realizar implementaciones azul-verde en Compute Engine.