Compila repositorios desde el centro de datos de Bitbucket

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.

    Habilita las API

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:

  1. Abrir la página Activadores:

    Abrir la página Activadores

  2. Selecciona el proyecto en la parte superior de la página y haz clic en Abrir.

  3. Haz clic en Crear activador.

  4. 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 una Dockerfile, tienes la opción de proporcionar un tiempo de espera para la compilación. Cuando hayas proporcionado el Dockerfile y el nombre de la imagen, verás una vista previa del comando docker 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.

  5. 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?