Crear repositorios desde Bitbucket Data Center

Cloud Build te permite crear activadores para compilar a partir de repositorios alojados en Bitbucket Data Center. Puedes ejecutar compilaciones en respuesta a eventos como las inserciones de confirmaciones o las solicitudes de combinación asociadas a tu repositorio de Bitbucket Data Center.

En esta página se explica cómo habilitar los activadores de compilación en una instancia de Bitbucket Data Center. Para obtener más información, consulta los artículos sobre activadores de Cloud Build y repositorios de Cloud Build.

Antes de empezar

  • Enable the Cloud Build and Secret Manager APIs.

    Enable the APIs

Para crear un activador para un repositorio de Bitbucket Data Center, debes tener una conexión entre Google Cloud y tu repositorio. Para crear una conexión a través de la aplicación Bitbucket Data Center en Google Cloud, consulta Conectar con un repositorio de Bitbucket Data Center.

Crear un activador de Bitbucket Data Center

En esta sección se explica cómo 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 las instrucciones para crear repositorios desde Bitbucket Data Center en una red privada.

Google Cloud consola

Para crear activadores de Bitbucket Data Center con la consola Google Cloud , haz lo siguiente:

  1. Abre la página Triggers (Activadores) en la consola de Google Cloud .

    Abre la página Activadores.

  2. Selecciona el Google Cloud proyecto y haz clic en Abrir.

  3. Haz clic en Crear activador.

  4. Introduce los siguientes ajustes del activador:

    • Nombre: introduce un nombre para el activador.

    • Región: selecciona la región del activador.

      • Si el archivo de configuración de compilación asociado al activador especifica un grupo privado, Cloud Build usará ese grupo 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 hayas creado tu grupo privado.
      • Si el archivo de configuración de compilación asociado al activador no especifica un grupo privado, Cloud Build usará el grupo predeterminado para ejecutar la compilación en la misma región que el activador.

    • Descripción (opcional): escribe una descripción del activador.

    • Evento: selecciona el evento del repositorio para invocar el activador.

      • Enviar a una rama: configura el activador para iniciar una compilación en las confirmaciones de una rama concreta.

      • Enviar nueva etiqueta: configura el activador para que inicie una compilación en las confirmaciones que contengan una etiqueta concreta.

      • Solicitud de extracción: configura el activador para que inicie una compilación cuando se confirmen cambios en una solicitud de extracción.

    • Fuente: configure la información sobre su repositorio de Bitbucket Data Center:

      • Servicio de repositorio: selecciona repositorios de Cloud Build.

      • Generación de repositorios: selecciona Developer Connect como fuente.

      • Repositorio: en la lista de repositorios disponibles, selecciona el repositorio.

      • Rama o Etiqueta: especifica una expresión regular con el valor de la rama o de la etiqueta que quieras que coincida. Para obtener información sobre la sintaxis válida de las expresiones regulares, consulta la sintaxis de RE2.

      • Control de comentarios: si has seleccionado Solicitud de extracción como Evento, elige una de las siguientes opciones para controlar si la compilación se ejecuta automáticamente mediante el activador:

        • Obligatorio excepto para propietarios y colaboradores: cuando un propietario o colaborador del repositorio crea o actualiza una solicitud de extracción, el activador ejecuta las compilaciones automáticamente. Si un colaborador externo inicia la acción, las compilaciones se ejecutan solo después de que un propietario o colaborador comente /gcbrun en la solicitud de extracción.

        • Obligatorio: cuando un colaborador crea o actualiza una solicitud de extracción, las compilaciones se ejecutan solo después de que un propietario o colaborador comente /gcbrun en la solicitud de extracción. Las compilaciones se ejecutan cada vez que se hace un cambio en una solicitud de extracción.

        • No es obligatorio: cuando cualquier colaborador crea o actualiza una solicitud de extracción, los compilaciones se ejecutan automáticamente mediante activadores.

    • Configuración: selecciona el archivo de configuración de compilación ubicado en tu repositorio o configura la compilación directamente en el activador.

    • Tipo: selecciona el tipo de configuración que quieras usar en tu compilación.

      • Archivo de configuración de Cloud Build (yaml o json): usa un archivo de configuración de compilación para tu configuración.
      • Dockerfile usa un Dockerfile para tu configuración.
    • Ubicación: especifica la ubicación de la configuración.

      • Repositorio: si el archivo de configuración se encuentra en tu repositorio, indica la ubicación del archivo de configuración de compilación o el Dockerfiledirectorio y el nombre de la imagen resultante. Si tu configuración es Dockerfile, 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 para tu compilación.

      • En línea: si has seleccionado Archivo de configuración de Cloud Build (yaml o json) como opción de configuración, puedes especificar la configuración de compilación en línea. Haz clic en Abrir editor para escribir el archivo de configuración de la compilación en la consolaGoogle Cloud con la sintaxis YAML o JSON. Haz clic en Hecho para guardar la configuración de compilación.

  5. Haz clic en Crear para crear el activador de Bitbucket Cloud.

CLI de gcloud

Para crear activadores de Bitbucket Data Center 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

Donde:

  • TRIGGER_NAME es el nombre del activador.
  • PROJECT_ID es el ID de tu proyecto Google Cloud .
  • REGION es la región de tu activador.
  • CONNECTION_NAME es el nombre de tu conexión de Bitbucket Data Center.
  • GIT_REPOSITORY_LINK es el enlace a tu repositorio de Git.
  • BRANCH_PATTERN es el nombre de la rama de tu repositorio en la que se invoca la compilación.
  • TAG_PATTERN es el nombre de la etiqueta de tu repositorio para invocar la compilación.
  • BUILD_CONFIG_FILE es la ruta a tu archivo de configuración de compilación.
  • SERVICE-ACCOUNT es la cuenta de servicio que se debe usar para las operaciones de activadores y compilaciones.

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"
        "comment_control": "COMMENT_SETTING"
    }
}

Donde:

  • REPO_SLUG es el slug de tu repositorio de Bitbucket Server. Para obtener más información, consulta la guía de Bitbucket sobre slugs de repositorios.
  • PROJECT_KEY es la clave de tu proyecto de Bitbucket Server. PROJECT_KEY distingue entre mayúsculas y minúsculas.
  • BRANCH_NAME es la expresión regular de tu rama si quieres configurar el activador para compilar determinadas ramas.
  • TAG_NAME es la expresión regular de su etiqueta si quiere configurar su activador para que compile determinadas etiquetas.
  • PROJECT_NUMBER es el número de tu proyecto de Cloud.
  • REGION es la región asociada a tu configuración de Bitbucket Server.
  • ID es el ID de tu BitbucketServerConfig.
  • COMMENT_SETTING es el ajuste que controla si los activadores de compilación requieren /gcbrun en un comentario para que se ejecute la compilación. Para obtener más información, consulta commentControl.

Introduce el siguiente comando curl en tu 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

Donde:

  • PROJECT_NUMBER es el número de tu proyecto Google Cloud .
  • PROJECT_ID es el ID de tu proyecto Google Cloud .

Compartir datos

Los datos que se envían a Bitbucket Data Center desde Cloud Build te ayudan a identificar los activadores por su nombre y a ver los resultados de las compilaciones en tus repositorios de Bitbucket Data Center.

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

  • Google Cloud ID de proyecto
  • Nombre del activador

La función para compartir datos está habilitada automáticamente en Bitbucket Data Center.

Siguientes pasos