Compila repositorios de Bitbucket Data Center

Cloud Build te permite crear activadores para compilar repositorios alojados en Centro de datos de Bitbucket, lo que te permite ejecutar compilaciones en respuesta a eventos como envíos de confirmación o de las solicitudes de extracción asociadas con tu repositorio de Bitbucket Data Center.

En esta página, se explica cómo puedes habilitar la funcionalidad del activador en un instancia de Bitbucket Data Center.

Antes de comenzar

  • Enable the Cloud Build, Secret Manager, and Compute Engine APIs.

    Enable the APIs

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 compilaciones automáticamente en tus repositorios conectados. Si deseas usar activadores de Bitbucket Data Center en una red privada, consulta Cómo compilar repositorios desde Bitbucket Data Center en una red privada para obtener más instrucciones.

Console

Para crear un activador de centro de datos de Bitbucket 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 para tu activador.

      • Si seleccionas la región global, Cloud Build usa la configuración 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: Configura el activador para que inicie una compilación. de las confirmaciones en una solicitud de extracción.

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

      • Repositorio: En la lista de repositorios disponibles, selecciona uno. Para conectar un repositorio nuevo, consulta Cómo conectarse 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á 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 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. 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 configurar tu compilación intercalada en el desencadenante.

    • 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 tu repositorio, proporciona la ubicación de tu archivo de configuración de compilación o Dockerfile y un nombre para la imagen resultante. Si tu configuración es Dockerfile, puedes proporcionar un tiempo de espera para la compilación de forma opcional. 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 Open Editor para escribir tu archivo de configuración de compilación en la consola de Google Cloud 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 Bitbucket Data Center.

gcloud

Para crear un activador de Bitbucket Data Center con los comandos gcloud, debes hacer lo siguiente: debes ejecutar lo siguiente Comando gcloud builds triggers create bitbucketserver en tu 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 el slug de tu repositorio de Bitbucket Data Center.
  • PROJECT_NUMBER es el número de proyecto de tu proyecto de Google Cloud.
  • REGION es la región asociada a tu configuración del centro de datos de Bitbucket.
  • ID es el ID de tu BitbucketServerConfig.
  • BRANCH_NAME es una expresión regular que coincide en tu rama si quieres configurar el activador para compilar ciertas ramas.
  • TAG_NAME es una expresión regular que coincide con tu etiqueta si deseas configurar el activador para compilar ciertas 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 el 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 el slug de tu repositorio de Bitbucket Data Center.
  • PROJECT_KEY es la clave de tu proyecto de Bitbucket Data Center.
  • BRANCH_NAME es la expresión regular que coincide en tu rama si quieres configurar el activador para compilar ciertas ramas.
  • TAG_NAME es la expresión regular que coincide con tu etiqueta si deseas configurar tu activador para compilar ciertas etiquetas.
  • PROJECT_NUMBER es el número de proyecto de tu proyecto de Google Cloud.
  • REGION es la región asociada con la configuración de tu centro de datos de Bitbucket.
  • ID es el ID de tu BitbucketServerConfig.

Ingresa el siguiente comando curl en la terminal, donde 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 activadores por nombre y ver los resultados de la compilación en los repositorios de Bitbucket Data Center.

Los siguientes datos se comparten entre Cloud Build y tu centro de datos de Bitbucket host:

  • ID del proyecto de Google Cloud
  • Nombre del activador

El uso compartido de datos se habilita automáticamente para Bitbucket Data Center.

¿Qué sigue?