Cloud Build te permite crear activadores para compilar desde repositorios alojados en Bitbucket Server. Puedes ejecutar compilaciones en respuesta a eventos, como envíos de confirmación o solicitudes de combinación asociadas con tu repositorio de Bitbucket Server.
En esta página, se explica cómo puedes habilitar activadores de compilación para una instancia de Bitbucket Server. Para obtener más información, consulta Activadores de Cloud Build y Repositorios de Cloud Build.
Antes de comenzar
-
Enable the Cloud Build and Secret Manager APIs.
Para crear un activador para un repositorio de Bitbucket Server, debes tener una conexión entre Google Cloud y tu repositorio. Para crear una conexión a través de Developer Connect, consulta Cómo conectarse a Bitbucket Data Center en la documentación de Developer Connect.
Crea un activador de Bitbucket Server
En esta sección, se explica cómo puedes conectar tus repositorios de Bitbucket Server a Cloud Build y crear un activador para invocar compilaciones automáticamente en tus repositorios conectados. Si deseas usar activadores de Bitbucket Server en una red privada, consulta Cómo compilar repositorios de Bitbucket Server en una red privada para obtener más instrucciones.
Google Cloud console
Para crear activadores de Bitbucket Server con la consola de Google Cloud , haz lo siguiente:
Abre la página Activadores en la Google Cloud consola.
Selecciona tu Google Cloud proyecto y haz clic en Abrir.
Haz clic en Crear activador.
Ingresa las siguientes opciones de configuración del activador:
Nombre: Ingresa un nombre para el activador.
Región: Selecciona la región para tu activador.
- Si el archivo de configuración de compilación asociado con el activador especifica un grupo privado, Cloud Build usa el grupo privado para ejecutar la 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 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): Ingresa una descripción para el 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: Configura el activador para que inicie compilaciones a partir de confirmaciones de solicitud de extracción.
Fuente: Configura la información sobre tu repositorio de Bitbucket Server:
- Servicio de repositorio: Selecciona Developer Connect.
Repositorio: En la lista de repositorios disponibles, selecciona el que deseas.
Rama o Etiqueta: Especifica una expresión regular con la rama o el valor de la etiqueta que deben coincidir. Para obtener información acerca de la sintaxis de expresión regular aceptable, consulta Sintaxis RE2.
Control de comentarios: Si seleccionaste Solicitud de extracción como tu Evento, elige una de las siguientes opciones para controlar si el activador ejecutará una compilación de forma automática:
Es obligatorio excepto para los propietarios y colaboradores: Cuando un propietario o colaborador del repositorio crea o actualiza una solicitud de extracción, el activador ejecuta las compilaciones de forma automática. Si un colaborador externo inicia la acción, las compilaciones solo se ejecutan después de que el propietario o colaborador comente
/gcbrun
en la solicitud de extracción.Obligatorio: Cuando algún colaborador crea o actualiza una solicitud de extracción, las compilaciones solo se ejecutan después de que el propietario o el colaborador comente
/gcbrun
en la solicitud de extracción. Las compilaciones se ejecutan cada vez que se realiza un cambio en una solicitud de extracción.No obligatorio: Cuando cualquier colaborador crea o actualiza una solicitud de extracción, las compilaciones se ejecutan de forma automática con activadores.
Configuración: Selecciona el archivo de configuración de compilación ubicado en tu repositorio o configura tu 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 se encuentra 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 esDockerfile
, puedes proporcionar un tiempo de espera para la compilación de forma opcional. Cuando proporciones elDockerfile
y el nombre de la imagen, verás una vista previa del comandodocker build
para tu 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 la consola deGoogle Cloud con la sintaxis de 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 Bitbucket Cloud.
gcloud CLI
Para crear activadores de Bitbucket Server con comandos gcloud
, ejecuta el siguiente comando:
gcloud alpha builds triggers create developer connect
--name=TRIGGER_NAME \
--git-repository-link=projects/PROJECT_ID/locations/REGION/connections/CONNECTION_NAME/gitRepositoryLinks/REPO_NAME \
--branch-pattern=BRANCH_PATTERN # or --tag-pattern=TAG_PATTERN \
--build-config=BUILD_CONFIG_FILE \
--region=REGION \
--service-account=SERVICE-ACCOUNT
Aquí:
- TRIGGER_NAME es el nombre del activador.
- PROJECT_ID es el Google Cloud ID de tu proyecto.
- REGION es la región de tu activador.
- CONNECTION_NAME es el nombre de tu conexión al servidor de Bitbucket.
- GIT_REPOSITORY_LINK es el vínculo a tu repositorio de Git.
- BRANCH_PATTERN es el nombre de la rama en tu repositorio para invocar la compilación.
- TAG_PATTERN es el nombre de la etiqueta en tu repositorio para invocar la compilación.
- BUILD_CONFIG_FILE es la ruta de acceso al archivo de configuración de compilación.
- SERVICE-ACCOUNT es la cuenta de servicio que se usará para las operaciones de activación y compilación.
API
Para crear un activador de Bitbucket Server con la API, usa la siguiente plantilla JSON:
{
"filename": "cloudbuild.yaml",
"name": "curl-trigger",
"description": "curl trigger",
"developer_connect_config": {
"git_repository_link": "PROJECT_ID/locations/REGION/connections/CONNECTION_NAME/gitRepositoryLinks/REPO_NAME",
"git_repository_link_type": "BITBUCKET_SERVER",
// Field filter must be only one of the following:
"pullRequest": "PULL_REQUEST_FILTER",
"push": "PUSH_FILTER"
}
}
Aquí:
- PROJECT_ID es el Google Cloud ID de tu proyecto.
- REGION es la región de tu activador.
- CONNECTION_NAME es el nombre de tu conexión al servidor de Bitbucket.
- GIT_REPOSITORY_LINK es el vínculo a tu repositorio de Git.
- “REPO_NAME” es el nombre de tu repositorio.
- "PULL_REQUEST_FILTER" es una instancia de
PullRequestFilter
, que define el filtro que permite que Cloud Build active una compilación cuando se realiza una solicitud de extracción coincidente en Bitbucket Server. - "PUSH_FILTER" es una instancia de
PushFilter
, que define el filtro que permite que Cloud Build active una compilación cuando se realiza un envío coincidente en Bitbucket Server.
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/triggers -d @trigger.json
Aquí:
- PROJECT_NUMBER es el Google Cloud número de proyecto.
- PROJECT_ID es el Google Cloud ID de tu proyecto.
Uso compartido de datos
Los datos que se envían a Bitbucket Server desde Cloud Build te ayudan a identificar los activadores por nombre y ver los resultados de la compilación en Bitbucket Server.
Los siguientes datos se comparten entre Cloud Build y Bitbucket Server:
- ID del proyecto deGoogle Cloud
- Nombre del activador
El uso compartido de datos se habilita automáticamente para Bitbucket Server.
¿Qué sigue?
- Aprende a crear y administrar activadores de compilación.
- Obtén más información para compilar repositorios de Bitbucket Server en una red privada.
- Obtén información para realizar implementaciones azul-verde en Compute Engine.