Cloud Build te permite crear activadores para compilar a partir de repositorios alojados en el centro de datos de Bitbucket, lo que te permite ejecutar compilaciones en respuesta a eventos como envíos de confirmación o solicitudes de extracción asociadas con tu repositorio de centro de datos de Bitbucket.
En esta página, se explica cómo puedes habilitar la funcionalidad de activación en una instancia del centro de datos de Bitbucket.
Antes de comenzar
-
Habilita las API de Cloud Build, Secret Manager, and Compute Engine.
- Sigue las instrucciones para conectar un host de centro de datos de Bitbucket.
- Sigue las instrucciones para conectar un repositorio de Bitbucket Data Center.
Crea un activador de Bitbucket Data Center
En esta sección, se explica cómo puedes conectar los repositorios de Bitbucket Data Center a Cloud Build y crear un activador para invocar las compilaciones en los repositorios conectados de forma automática. Si deseas usar los activadores del centro de datos de Bitbucket en una red privada, consulta Compila repositorios desde el centro de datos de Bitbucket en una red privada para obtener más instrucciones.
Console
Para crear un activador de centro de datos de Bitbucket con Google Cloud Console, sigue estos pasos:
Abrir la página Activadores:
Selecciona el proyecto en la parte superior de la página y haz clic en Abrir.
Haz clic en Crear activador.
Ingresa las siguientes opciones de configuración del activador:
Nombre: un nombre para tu activador
Región: selecciona la región para el activador.
- Si seleccionas global como la región, Cloud Build usa el grupo predeterminado para ejecutar tu compilación.
- Si seleccionas una región no global y el archivo de configuración de compilación asociado con el activador especifica un grupo privado, Cloud Build usa el grupo privado para ejecutar tu compilación. En este caso, la región que especifiques en el activador debe coincidir con la región en la que creaste el grupo privado.
- Si seleccionas una región no global y el archivo de configuración de compilación asociado con el activador no especifica un grupo privado, Cloud Build usa el grupo predeterminado para ejecutar la compilación en la misma región que el activador.
Descripción (opcional): Una descripción para tu activador
Evento: Selecciona el evento de repositorio que invoca al activador.
Enviar a una rama: Configura el activador para que inicie compilaciones a partir de las confirmaciones en una rama en particular.
Enviar etiqueta nueva: Configura el activador para que inicie compilaciones a partir de las confirmaciones que contengan una etiqueta específica.
Solicitud de extracción (Cloud Source Repositories no es compatible): configura el activador para que inicie compilaciones a partir de confirmaciones de solicitud de extracción.
Fuente: Selecciona el repositorio que se compilará cuando se ejecute el activador de centro de datos de Bitbucket.
Revisión: selecciona la rama o etiqueta para compilar cuando se ejecute el activador de centro de datos de Bitbucket.
Rama: Configura un activador para compilar esta rama.
Etiqueta: Configura un activador para compilar esta etiqueta.
Configuración: Selecciona el archivo de configuración de compilación ubicado en el repositorio o configura la compilación intercalada en el activador.
Tipo: Selecciona el tipo de configuración que usarás para la compilación.
- Archivo de configuración de Cloud Build (YAML o JSON): Usa un archivo de configuración de compilación para la configuración.
- Dockerfile: Usa
Dockerfile
para la configuración.
Ubicación: Especifica la ubicación de tu configuración.
Repositorio: Si tu archivo de configuración está ubicado en tu repositorio, proporciona la ubicación de tu archivo de configuración de compilación o el directorio
Dockerfile
y un nombre para la imagen resultante. Si tu configuración es unaDockerfile
, tienes la opción de proporcionar un tiempo de espera para la compilación. Cuando hayas proporcionado elDockerfile
y el nombre de la imagen, verás una vista previa del comandodocker build
que se ejecutará en la compilación.En línea: Si seleccionaste Archivo de configuración de Cloud Build (YAML o JSON) como tu opción de configuración, puedes especificar tu configuración de la compilación de forma intercalada. Haz clic en Abrir editor para escribir tu archivo de configuración de compilación en Google Cloud Console con sintaxis YAML o JSON. Haz clic en Listo para guardar la configuración de tu compilación.
Haz clic en Crear para crear el activador de centro de datos de Bitbucket.
gcloud
Para crear un activador de centro de datos de Bitbucket con los comandos gcloud
, deberás ejecutar el siguiente comando gcloud alpha builds triggers create bitbucketserver
en tu terminal:
gcloud alpha builds triggers create bitbucketserver
--name=TRIGGER_NAME \
--project-key=PROJECT_KEY \
--repo-slug=REPO_SLUG \
--bitbucket-server-config-resource=projects/PROJECT_NUMBER/locations/global/bitbucketServerConfigs/ID \
--branch-pattern=BRANCH_NAME \ # --tag-pattern=TAG_NAME
--build-config=BUILD_CONFIG
Donde:
- TRIGGER_NAME es el nombre del activador.
- PROJECT_KEY es la clave del proyecto del centro de datos de Bitbucket.
- REPO_SLUG es la babosa de tu repositorio del centro de datos de Bitbucket.
- PROJECT_NUMBER es el número de tu proyecto de Cloud.
- ID es el ID de BitbucketServerConfig.
- BRANCH_NAME es la regex de tu rama si deseas configurar el activador para que compile ciertas ramas.
- TAG_NAME es la regex de tu etiqueta si deseas configurar tu activador para que compile ciertas etiquetas.
- BUILD_CONFIG es la ruta de acceso al archivo de configuración de compilación.
API
Para crear un activador de centro de datos de Bitbucket con la API, usa la siguiente plantilla de JSON.
{
"filename": "cloudbuild.yaml",
"name": "curl-trigger",
"description": "curl trigger",
"bitbucket_server_trigger_config": {
"repo_slug": REPO_SLUG,
"project_key": PROJECT_KEY,
"push": {
"branch": BRANCH_NAME # "tag": TAG_NAME
},
"bitbucket_server_config_resource": "projects/PROJECT_NUMBER/locations/global/bitbucketServerConfigs/ID"
}
}
Donde:
- PROJECT_KEY es la clave del proyecto del centro de datos de Bitbucket.
- REPO_SLUG es la babosa de tu repositorio del centro de datos de Bitbucket.
- PROJECT_NUMBER es el número de tu proyecto de Cloud.
- ID es el ID de BitbucketServerConfig.
- BRANCH_NAME es la regex de tu rama si deseas configurar el activador para que compile ciertas ramas.
- TAG_NAME es la regex de tu etiqueta si deseas configurar tu activador para que compile ciertas etiquetas.
Ingresa el siguiente comando curl
en la terminal, en el que PROJECT_ID es el ID del proyecto de Cloud:
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/triggers -d @trigger.json
Uso compartido de datos
Los datos que Cloud Build envía al centro de datos de Bitbucket te ayudan a identificar activadores por nombre y a ver los resultados de la compilación en el centro de datos de Bitbucket.
Actualmente, Cloud Build y Bitbucket Data Center comparten los siguientes datos:
- ID del proyecto de nube
- Nombre del activador
El uso compartido de datos se habilita automáticamente para el centro de datos de Bitbucket.
¿Qué sigue?
- Aprende a crear y administrar activadores de compilación.
- Obtén más información para compilar repositorios desde el centro de datos de Bitbucket en una red privada.