Compila repositorios desde GitLab Enterprise Edition

Organiza tus páginas con colecciones Guarda y categoriza el contenido según tus preferencias.

Cloud Build te permite crear activadores para compilar a partir de repositorios alojados en GitLab Enterprise Edition, lo que te permite ejecutar compilaciones en respuesta a eventos como envíos de confirmaciones o solicitudes de extracción asociadas con tu repositorio de GitLab Enterprise Edition.

En esta página, se explica cómo puedes habilitar la funcionalidad del activador en una instancia de GitLab Enterprise Edition. Si deseas compilar repositorios desde GitLab, consulta Compila repositorios desde GitLab.

Antes de comenzar

  • Habilita las API de Cloud Build and Secret Manager.

    Habilita las API

Crea un activador de GitLab Enterprise Edition

Consola

Para crear un activador de GitLab Enterprise Edition mediante Google Cloud Console, haz lo siguiente:

  1. Abrir la página Activadores:

    Abrir la página Activadores

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

  3. Haga 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 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 (no se admiten Cloud Source Repositories): Configura el activador para que inicie compilaciones a partir de las confirmaciones de una solicitud de extracción.

    • Fuente: Selecciona el repositorio para compilar cuando se ejecute el activador de GitLab Enterprise Edition.

    • Revisión: selecciona la rama o etiqueta que se compilará cuando se ejecute el activador de GitLab Enterprise Edition.

    • 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 se encuentra en tu repositorio, proporciona la ubicación de tu archivo de configuración de compilación o del 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 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 el archivo de configuración de compilación en Google Cloud Console 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 el activador de GitLab Enterprise Edition.

gcloud

Para crear un activador de GitLab Enterprise Edition mediante los comandos de gcloud, debes ejecutar el siguiente comando de gcloud alpha builds triggers create gitlab-enterprise en la terminal:

gcloud alpha builds triggers create gitlab-enterprise
    --name=TRIGGER_NAME \
    --project-namespace=GITLAB_ENTERPRISE_EDITION_PROJECT_NAMESPACE \
    --gitlab-config-resource=projects/PROJECT_NUMBER/locations/REGION/gitLabConfigs/GITLAB_ENTERPRISE_EDITION_CONFIG_NAME \
    --branch-pattern=BRANCH_NAME \ # --tag-pattern=TAG_NAME
    --build-config=BUILD_CONFIG

Reemplaza lo siguiente:

  • TRIGGER_NAME es el nombre del activador.
  • GITLAB_ENTERPRISE_EDITION_PROJECT_NAMESPACE el espacio de nombres de tu proyecto de GitLab Enterprise Edition.
  • PROJECT_NUMBER es el número de tu proyecto de Google Cloud.
  • REGION es la región en la que se encuentra la configuración de GitLab Enterprise Edition.
  • GITLAB_ENTERPRISE_EDITION_CONFIG_NAME es el nombre de tu configuración de GitLab Enterprise.
  • BRANCH_NAME es la regex de tu rama si quieres 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 GitLab Enterprise Edition con la API, usa la siguiente plantilla JSON.

    {
      "filename": "cloudbuild.yaml",
      "name": "curl-trigger",
      "description": "curl trigger",
      "gitlabEnterpriseEventsConfig": {
          "projectNamespace": GITLAB_ENTERPRISE_EDITION_PROJECT_NAMESPACE,
          "push": {
             "branch": BRANCH_NAME # "tag": TAG_NAME
          },
          "gitlabConfigResource": "projects/PROJECT_ID/locations/REGION/gitLabConfigs/GITLAB_ENTERPRISE_EDITION_CONFIG_NAME"
      }
  }

Reemplaza lo siguiente:

  • GITLAB_ENTERPRISE_EDITION_PROJECT_NAMESPACE el espacio de nombres de tu proyecto de GitLab Enterprise Edition.
  • BRANCH_NAME es la regex de tu rama si quieres configurar el activador para que compile ciertas ramas.
  • TAG_NAME es la regex de tu etiqueta si deseas establecer
  • PROJECT_ID es tu ID del proyecto de Cloud.
  • REGION es la región en la que se encuentra la configuración de GitLab Enterprise Edition.
  • GITLAB_ENTERPRISE_EDITION_CONFIG_NAME es el nombre de tu configuración de GitLab Enterprise.

Ingresa 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" https://cloudbuild.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/triggers -d @trigger.json

Reemplaza lo siguiente:

  • PROJECT_ID es tu ID del proyecto de Cloud.
  • REGION es la región en la que se encuentra la configuración de GitLab Enterprise Edition.

Uso compartido de datos

Los datos que envió Cloud Build a GitLab Enterprise Edition te ayudan a identificar activadores por nombre y a ver los resultados en tus repositorios de GitLab Enterprise Edition.

Actualmente, Cloud Build y GitLab Enterprise Edition comparten los siguientes datos:

  • ID del proyecto de nube
  • Nombre del activador

¿Qué sigue?