En esta página, se explica cómo conectarse a un repositorio del servidor de Bitbucket de Cloud Build.
Antes de comenzar
-
Habilita las API de Cloud Build, Secret Manager, and Compute Engine.
- Sigue las instrucciones para conectar un host de Bitbucket Server antes de conectar repositorios.
Conéctate a un repositorio de Bitbucket Server
Consola
Para conectar un repositorio de Bitbucket Server 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 1a gen..
Haz clic en Conectar repositorio.
Selecciona Servidor de Bitbucket.
Verás el panel Conectar repositorio. Completa los siguientes pasos para conectar tu repositorio de Bitbucket Server:
Región: Selecciona una región en la que se encuentra tu conexión.
En Selecciona el proveedor de administración del código fuente, selecciona Servidor de Bitbucket.
Conexión de host: Selecciona el nombre de la conexión de host en el menú desplegable.
Haz clic en Continuar.
En Seleccionar repositorio, selecciona los repositorios de Bitbucket Server que deseas conectar a Cloud Build.
Una vez que hayas seleccionado tu cuenta y los repositorios de Bitbucket Server, lee la renuncia de responsabilidad de consentimiento y selecciona la casilla de verificación junto a ella para indicar que aceptas los términos presentados.
Haz clic en Conectar para conectar tus repositorios.
Cuando se conecta un repositorio, Cloud Build configura un webhook en el repositorio de tu instancia de Bitbucket Server. Luego, el repositorio envía webhooks para invocar los activadores de Bitbucket Server correspondientes cuando realizas cambios en el repositorio. Un repositorio también se puede conectar varias veces con varias conexiones de host. Para obtener información sobre cómo administrar webhooks, consulta Administra webhooks.
Para ubicar el webhook, necesitas su ID. El ID de webhook para 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
Donde:
- CONFIG_NAME es el nombre de la configuración de Bitbucket Server.
- REGION es la región de la conexión de host de Bitbucket Server.
Haz clic en Listo. De manera opcional, haz clic en Crear un activador para crear uno.
API
Para conectar tu repositorio de Bitbucket Server a Cloud Build mediante la API, completa los siguientes pasos:
Usa la siguiente plantilla JSON para conectar tu repositorio:
{ "parent": "projects/PROJECT_NUMBER/locations/REGION/bitbucketServerConfigs/BITBUCKET_SERVER_CONFIG_NAME", "requests": { "parent": "projects/PROJECT_NUMBER/locations/REGION/bitbucketServerConfigs/BITBUCKET_SERVER_CONFIG_NAME", "bitbucketServerConnectedRepository": { "parent": "projects/PROJECT_NUMBER/locations/REGION/bitbucketServerConfigs/BITBUCKET_SERVER_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 Server.
- BITBUCKET_SERVER_CONFIG_NAME es el nombre de la configuración del servidor de Bitbucket.
- PROJECT_KEY es la clave de tu proyecto de Bitbucket Server.
Si deseas conectar un repositorio personal, la clave de tu proyecto debe contener el símbolo de virgulilla (
~
) antes de tu nombre de usuario. Por ejemplo,~${USERNAME}
. La URL completa de un repositorio de host puede serhttps://${HOST_URI}/projects/~${USER_NAME}/repos/${REPO_SLUG}
. - REPO_SLUG es el slug de tu repositorio del servidor de Bitbucket.
Ingresa el siguiente comando
curl
en la terminal: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_SERVER_CONFIG_NAME/connectedRepositories:batchCreate -d @requests.json
Donde:
- PROJECT_NUMBER es el número de proyecto de Cloud.
- PROJECT_ID es el ID del proyecto de Cloud.
- REGION es la región asociada a tu configuración de Bitbucket Server.
- BITBUCKET_SERVER_CONFIG_NAME es el nombre de tu configuración de Bitbucket Server.
Si el proceso es satisfactorio, el cuerpo de la respuesta contiene una instancia nueva de Operation.
Ingresa 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
Donde:
- PROJECT_NUMBER es el número de proyecto de Cloud.
- PROJECT_ID es el ID del proyecto de Cloud.
- REGION es la región asociada a tu configuración de Bitbucket Server.
- OPERATION_ID es el ID de la operación de creación de la configuración de Bitbucket Server.
Puedes encontrar el ID de operación en el campo
name
de tu respuesta. El formato del camponame
en tu respuesta se parece al siguiente:projects/project-id/locations/region/operations/operation-id
.
Es posible que debas seguir ejecutando el comando de la API
GetOperation
hasta que la respuesta contengadone: true
, que indica que se completó la operación. Si el repositorio de Bitbucket Server está conectado correctamente, podrás ver el repositorio conectado en el camporesponse.bitbucketServerConnectedRepositories
. De lo contrario, consulta el campoerror
para obtener un informe de error detallado.
¿Qué sigue?
- Obtén más información sobre cómo compilar repositorios desde Bitbucket Server.
- Obtén más información sobre cómo compilar repositorios desde Bitbucket Server en una red privada.
- Aprende a realizar implementaciones azul-verde en Compute Engine.