Compilar repositorios de GitHub Enterprise

Cloud Build te permite crear activadores en una instancia de GitHub Enterprise. En esta página, se explica cómo puedes usar los activadores de GitHub Enterprise para invocar compilaciones en respuesta a confirmaciones o solicitudes de extracción de un repositorio de GitHub Enterprise.

Obtén más información sobre los activadores de Cloud Build y los repositorios de Cloud Build.

Antes de comenzar

  • Habilita las API de Cloud Build and Secret Manager.

    Habilita las API

Crea un activador de GitHub Enterprise

En esta sección, se explica cómo puedes crear un activador y vincularlo a tu instalación de GitHub Enterprise. Si deseas usar activadores de GitHub Enterprise en una red privada, consulta Compila repositorios desde GitHub Enterprise en una red privada para obtener más instrucciones.

Consola

Para crear activadores de GitHub Enterprise con la consola de Google Cloud, sigue estos pasos:

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

    Abrir la página Activadores

  2. Selecciona tu proyecto en el menú desplegable del selector de proyectos en la parte superior de la página.

  3. Haz clic en Abrir.

  4. Haz clic en Crear activador.

  5. Ingresa las siguientes opciones de configuración del activador:

    • Nombre: Ingresa un nombre para el activador.

    • Región: Selecciona la región de tu activador.

      • Si el archivo de configuración de compilación asociado con el activador especifica un grupo privado, Cloud Build usa el grupo privado 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 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): Ingresa una descripción para el 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 2a generación como la fuente.

      • Repositorio: En la lista de repositorios disponibles, selecciona el que deseas. Para conectar un repositorio nuevo, consulta Conéctate a un repositorio de GitHub Enterprise.

      • Rama o Etiqueta: Especifica una expresión regular con la rama o el valor de la etiqueta que deben coincidir. Para obtener información acerca de la sintaxis de expresión regular aceptable, consulta Sintaxis RE2.

      • Control de comentarios: Si seleccionaste Solicitud de extracción (solo para la app de GitHub) 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 un propietario o colaborador del repositorio crea o actualiza una solicitud de extracción con /gcbrun en la descripción o el comentario de la solicitud de extracción, el activador ejecutará las compilaciones de forma automática. Cuando un colaborador crea o actualiza una solicitud de extracción, las compilaciones solo se ejecutarán después de que un propietario o colaborador comente /gcbrun en la 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.

    • Archivos incluidos (opcional): Los cambios que afecten al menos a uno de estos archivos invocarán una compilación.

    • Archivos ignorados (opcional): Los cambios que solo afectan a los archivos ignorados no invocarán una compilación.

    • Configuración: Selecciona el archivo de configuración de compilación ubicado en tu repositorio remoto o crea un archivo de configuración de compilación intercalado para usarlo en tu compilación.

      • Tipo: Selecciona el tipo de configuración que usarás para la compilación.
        • Detectado automáticamente: Cloud Build detecta de forma automática el tipo de configuración si tienes cloudbuild.yaml o Dockerfile en tu repositorio.
        • 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.
        • Paquetes de compilación: Usa paquetes de compilación para tu configuración.
      • Ubicación: Especifica la ubicación de tu configuración.

        • Repositorio: Si el archivo de configuración se encuentra en el repositorio remoto, 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, 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 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.
    • Variables de sustitución (opcional): Si seleccionaste el archivo de configuración de Cloud Build como la opción de configuración de compilación, puedes definir variables de sustitución específicas del activador mediante este campo. Por ejemplo, supongamos que creas varios activadores y que cada uno de ellos implementa tu app en un entorno específico. Puedes especificar que la app se implemente en un entorno del archivo de configuración de compilación y, luego, usar este campo para definir variables de sustitución que especifiquen en qué entorno debe implementarse este activador. Para obtener información sobre cómo especificar valores de sustitución en archivos de configuración de compilación, consulta Sustituye valores de variable.

    • Build logs (opcional): Marca la casilla para enviar registros de compilación a GitHub. Para aprender a ver registros de compilación, consulta Cómo ver registros de compilación.

    • Cuenta de servicio: Selecciona la cuenta de servicio que se usará para invocar el activador. Si no seleccionas una cuenta de servicio, se usa la cuenta de servicio de Cloud Build predeterminada.

  6. Haz clic en Crear para guardar el activador de compilación.

A fin de crear activadores de GitHub con los comandos de gcloud, consulta los comandos de gcloud para crear un activador de compilación.

gcloud

Para crear activadores de GitHub Enterprise con los comandos gcloud, ejecuta el siguiente comando:

gcloud builds triggers create github \
  --name=TRIGGER_NAME \
  --repository=projects/PROJECT_ID/locations/REGION/connections/CONNECTION_NAME/repositories/REPO_NAME \
  --branch-pattern=BRANCH_PATTERN # or --tag-pattern=TAG_PATTERN \
  --build-config=BUILD_CONFIG_FILE \
  --region=REGION

Donde:

  • TRIGGER_NAME es el nombre del activador.
  • PROJECT_ID es tu ID del proyecto de Google Cloud.
  • REGION es la región del activador.
  • CONNECTION_NAME es el nombre de tu conexión de GitHub Enterprise.
  • REPO_NAME es el nombre de tu repositorio
  • BRANCH_PATTERN es el nombre de la rama en tu repositorio para invocar la compilación.
  • TAG_PATTERN es el nombre de la etiqueta en tu repositorio para invocar la compilación.
  • BUILD_CONFIG_FILE es la ruta de acceso al archivo de configuración de compilación.

Uso compartido de datos

Los datos enviados a GitHub Enterprise desde Cloud Build te ayudan a identificar los activadores por nombre y a ver los resultados de la compilación en GitHub Enterprise.

Actualmente, Cloud Build y GitHub Enterprise comparten los siguientes datos:

  • ID del proyecto de nube
  • Nombre del activador
  • Registros de compilaciones

Si creaste activadores antes de agosto de 2020, es posible que el uso compartido de datos no esté habilitado para tu proyecto. Puedes habilitar el uso compartido de datos para todos los activadores de GitHub Enterprise de tu proyecto si haces clic en Habilitar, en la pestaña Uso compartido de datos de Cloud Build.

Si tienes habilitadas las verificaciones de estado obligatorias para un repositorio de GitHub Enterprise, habilitar el uso compartido de datos puede interrumpir temporalmente las verificaciones de estado. Puedes ajustar la configuración de la verificación de estado para buscar el nombre de tu activador de la siguiente manera:

  • Inhabilita las verificaciones obligatorias específicas de Cloud Build en el repositorio de GitHub Enterprise
  • Asegúrate de que el uso compartido de datos esté habilitado en Cloud Build.
  • Ejecuta una compilación nueva en Cloud Build que publique estados en tu repositorio.
  • Vuelve a habilitar las verificaciones de estado necesarias y selecciona el nombre del activador.

Próximos pasos