Compila repositorios desde Bitbucket Data Center

Cloud Build te permite crear activadores para compilar desde 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 del centro de datos de Bitbucket.

En esta página, se explica cómo habilitar la funcionalidad del activador 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 tus repositorios de Bitbucket Data Center a Cloud Build y crear un activador para invocar automáticamente compilaciones en tus repositorios conectados. Si quieres usar los activadores de Bitbucket Data Center en una red privada, consulta Compila repositorios de Bitbucket Data Center en una red privada para obtener más instrucciones.

Console

Para crear un activador de Bitbucket Data Center con la consola de Google Cloud, 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 del activador.

      • Si seleccionas global como 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 lo usa 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 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: Configura el activador para que inicie una compilación a partir de las confirmaciones de una solicitud de extracción.

    • Fuente: Selecciona 1a generación como fuente.

      • Repositorio: En la lista de repositorios disponibles, selecciona un repositorio. Para conectar un repositorio nuevo, consulta Conéctate a un repositorio de Bitbucket Data Center.

      • Rama o Etiqueta: Especifica una expresión regular con la rama o el valor de la etiqueta que deben coincidir.

      • Control de comentarios: Si seleccionaste Solicitud de extracción como tu Evento, elige una de las siguientes opciones para controlar si el activador ejecutará automáticamente una compilación:

      • 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 ejecutarán después de que el propietario o colaborador comente /gcbrun en la solicitud de extracción.

      • Obligatorio: Cuando algún colaborador cree o actualice una solicitud de extracción, las compilaciones solo se ejecutarán 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 de forma 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 el archivo de configuración se encuentra en el repositorio, proporciona la ubicación del archivo de configuración de compilación o el directorio Dockerfile, y un nombre para la imagen resultante. Si tu configuración es Dockerfile, de manera opcional, puedes 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 ejecutará 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 de Google Cloud con la sintaxis YAML o JSON. Haz clic en Listo para guardar la configuración de tu compilación.

  5. Haz clic en Crear para crear tu activador de Bitbucket Data Center.

gcloud

Para crear un activador de Bitbucket Data Center con los comandos gcloud, deberás ejecutar el siguiente comando gcloud builds triggers create bitbucketserver en la terminal:

gcloud builds triggers create bitbucketserver
--name=TRIGGER_NAME \
--project-key=PROJECT_KEY \
--repo-slug=REPO_SLUG \
--bitbucket-server-config-resource=projects/PROJECT_NUMBER/locations/REGION/bitbucketServerConfigs/ID \
--branch-pattern=BRANCH_NAME \ # --tag-pattern=TAG_NAME
--build-config=BUILD_CONFIG

Aquí:

  • TRIGGER_NAME es el nombre del activador.
  • PROJECT_KEY es la clave de tu proyecto de Bitbucket Data Center.
  • REPO_SLUG es la slug del repositorio del centro de datos de Bitbucket.
  • PROJECT_NUMBER es el número de tu proyecto de Google Cloud.
  • REGION es la región asociada a la configuración de tu centro de datos de Bitbucket.
  • ID es el ID de tu BitbucketServerConfig.
  • BRANCH_NAME es una expresión regular que coincide con la rama si deseas configurar el activador para que compile ciertas ramas.
  • TAG_NAME es una expresión regular que coincide con tu etiqueta si deseas configurar el activador para que compile determinadas etiquetas.
  • BUILD_CONFIG es la ruta de acceso al archivo de configuración de compilación.

API

Para crear un activador de Bitbucket Data Center con la API, usa la siguiente plantilla 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/REGION/bitbucketServerConfigs/ID"
  }
}

Aquí:

  • REPO_SLUG es la slug del repositorio del centro de datos de Bitbucket.
  • PROJECT_KEY es la clave de tu proyecto de Bitbucket Data Center.
  • BRANCH_NAME es la expresión regular que coincide con la rama si deseas configurar el activador para que compile determinadas ramas.
  • TAG_NAME es la expresión regular que coincide con tu etiqueta si deseas configurar el activador para que compile determinadas etiquetas.
  • PROJECT_NUMBER es el número de tu proyecto de Google Cloud.
  • REGION es la región asociada a la configuración de tu centro de datos de Bitbucket.
  • ID es el ID de tu BitbucketServerConfig.

Ingresa el siguiente comando de curl en la terminal, en el que PROJECT_ID es el ID del proyecto de Google 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 se envían a Bitbucket Data Center desde Cloud Build te ayudan a identificar los activadores por nombre y a ver los resultados de la compilación en los repositorios de Bitbucket Data Center.

Cloud Build y tu host de Bitbucket Data Center comparten los siguientes datos:

  • ID del proyecto de Google Cloud
  • Nombre del activador

El uso compartido de datos está habilitado automáticamente en Bitbucket Data Center.

¿Qué sigue?