En esta página se explica cómo conectarse a un repositorio de Bitbucket Data Center en Cloud Build.
Antes de empezar
-
Enable the Cloud Build, Secret Manager, and Compute Engine APIs.
- Sigue las instrucciones para conectar un host de Bitbucket Data Center antes de conectarte a un repositorio.
Conectarse a un repositorio de Bitbucket Data Center
Consola
Para conectar un repositorio de Bitbucket Data Center a Cloud Build mediante 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.
Seleccione Bitbucket Data Center.
Verá el panel Conectar repositorio. Sigue estos pasos para conectar tu repositorio de Bitbucket Data Center:
Región: selecciona la región en la que se encuentra tu conexión.
En Seleccionar proveedor de gestión de código fuente, selecciona Bitbucket Data Center.
Conexión de host: selecciona el nombre de tu conexión de host en el menú desplegable.
Haz clic en Continuar.
En Select Repository (Seleccionar repositorio), selecciona los repositorios de Bitbucket Data Center que quieras conectar a Cloud Build.
Una vez que haya seleccionado su cuenta y sus repositorios de Bitbucket Data Center, lea la renuncia de consentimiento y marque la casilla situada junto a ella para indicar que acepta los términos presentados.
Haz clic en Conectar para conectar tus repositorios.
Haz clic en Listo. También puedes hacer clic en Crear un activador para crear uno.
API
Para conectar tu repositorio de Bitbucket Data Center a Cloud Build mediante la API, sigue estos 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", } } } }
Donde:
- PROJECT_NUMBER es el número de tu proyecto de Cloud.
- REGION es la región asociada a tu configuración de Bitbucket Data Center.
- BITBUCKET_DATA_CENTER_CONFIG_NAME es el nombre de tu configuración de Bitbucket Data Center.
- PROJECT_KEY es la clave de tu proyecto de Bitbucket Data Center. Si quieres conectar un repositorio personal, la clave de tu proyecto debe contener el símbolo de tilde (
~
) antes de tu nombre de usuario. Por ejemplo,~${USERNAME}
. La URL completa de 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 el terminal desde el mismo directorio que 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
Donde:
- PROJECT_NUMBER es el número de tu proyecto Google Cloud .
- PROJECT_ID es el Google Cloud ID de tu proyecto.
- REGION es la región asociada a tu configuración de Bitbucket Data Center.
- BITBUCKET_DATA_CENTER_CONFIG_NAME es el nombre de tu configuración de Bitbucket Data Center. Si la solicitud se completa correctamente, en el cuerpo de la respuesta se incluye una instancia recién creada de Operation.
Ejecuta el siguiente comando
curl
en tu 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
Donde:
- PROJECT_NUMBER es el número de tu proyecto Google Cloud .
- PROJECT_ID es tu Google Cloud ID.
- REGION es la región asociada a tu configuración de Bitbucket Data Center.
- OPERATION_ID es el ID de la operación de creación de la configuración de Bitbucket Data Center. Puedes encontrar el ID de operación
en el campo
name
de tu respuesta. El formato del camponame
de tu respuesta debe ser el siguiente:projects/project-id/locations/region/operations/operation-id
.
Es posible que tengas que seguir ejecutando el comando de la API
GetOperation
hasta que la respuesta contengadone: true
, lo que indica que la operación se ha completado. Si el repositorio de Bitbucket Data Center se conecta correctamente, puedes verlo en el camporesponse.bitbucketServerConnectedRepositories
. De lo contrario, consulta el campoerror
para ver 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. A continuación, el repositorio envía webhooks para invocar los activadores de Bitbucket Data Center correspondientes cuando haces cambios en el repositorio. Un repositorio también se puede conectar varias veces con varias conexiones de host. Para saber cómo gestionar webhooks, consulta Gestionar webhooks.
Para localizar el webhook, necesitas su ID. El ID de webhook de cada repositorio conectado se puede encontrar en BitbucketServerConfig
.
Introduce el siguiente comando para obtener el ID del webhook:
gcloud alpha builds enterprise-config bitbucketserver describe CONFIG_NAME --region=REGION
Donde:
- CONFIG_NAME es el nombre de la configuración de Bitbucket Data Center.
- REGION es la región de la conexión de host de Bitbucket Data Center
Siguientes pasos
- Consulta cómo crear repositorios desde Bitbucket Data Center.
- Consulta cómo crear repositorios desde Bitbucket Data Center en una red privada.
- Consulta cómo realizar implementaciones azul/verde en Compute Engine.