Compilar repositorios de GitHub

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

Los activadores de GitHub te permiten compilar automáticamente en solicitudes de extracción y envíos de Git y ver los resultados de compilación en GitHub y Google Cloud Console. Además, los activadores de GitHub admiten todas las características compatibles con los activadores de GitHub existentes y usan la app de GitHub de Cloud Build para configurar y autenticarse en GitHub.

En esta página, se explica cómo crear activadores de GitHub y compilar en GitHub con la app de GitHub de Cloud Build.

Antes de comenzar

  • Habilita la API de Cloud Build.

    Habilita la API

Crea un activador de GitHub

Console

Para crear activadores de GitHub con Google Cloud Console, sigue estos pasos:

  1. Abre la página Activadores en Google Cloud Console.

    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 para el 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): 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 (Cloud Source Repositories no es compatible): configura el activador para que inicie compilaciones a partir de confirmaciones de solicitud de extracción.

    • Fuente: Selecciona el repositorio, y la rama o etiqueta correspondiente para buscar eventos.

      • Repositorio: En la lista de repositorios disponibles, selecciona el que deseas. Para conectar un repositorio nuevo, consulta Conecta repositorios adicionales.

      • 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 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.

    • 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 automáticamente tu tipo de configuración si tienes un 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 está ubicado 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 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 se ejecutará en la 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 Google Cloud Console con 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 thCloud Build como tu opción de configuración de compilación, puedes optar por 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.

    • Aprobación (opcional): Marca la casilla para solicitar aprobación antes de que se ejecute tu compilación. Para obtener más información sobre las aprobaciones, consulta Puertas de compilación basadas en la aprobación.

    • Registros de compilación (opcional): Marca la casilla para enviar registros de compilación a GitHub. Para obtener información sobre cómo ver los registros de compilación, consulta Visualiza 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 con comandos gcloud, ejecuta el siguiente comando:

gcloud beta builds triggers create github \
    --repo-name=REPO_NAME \
    --repo-owner=REPO_OWNER \
    --branch-pattern=BRANCH_PATTERN \ # or --tag-pattern=TAG_PATTERN
    --build-config=BUILD_CONFIG_FILE \
    --include-logs-with-status

Donde:

  • REPO_NAME es el nombre del repositorio.
  • REPO_OWNER es el nombre de usuario del propietario del 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.
  • [OPCIONAL] --include-logs-with-status es una marca que puedes especificar a fin de mostrar los registros de compilación para tus repositorios. Esta marca es compatible con compilaciones de repositorios de GitHub y GitHub Enterprise. Para obtener información sobre cómo ver los registros de compilación, consulta Visualiza registros de compilación.

Compila y visualiza los cambios

Para compilar con activadores de GitHub, deberás enviar y confirmar cambios en tu repositorio de código fuente conectado o configurar tu compilación en solicitudes de extracción. Una vez que verifiques tus cambios, Cloud Build compilará tu código.

Para ver tus cambios de compilación en GitHub, ve a la pestaña Verificaciones en tu repositorio.

Captura de pantalla de la pestaña conversación

Verá que Cloud Build compiló sus cambios. También verás otros detalles de compilación, como el tiempo que tardó en compilar tu código y el ID de compilación.

Para ver los cambios en Cloud Build, haz clic en Ver más detalles en Google Cloud Build. Se abrirá la página Detalles de compilación en Google Cloud Console, en la que podrás ver información de compilación, como el estado, los registros y los pasos de compilación.

Diferentes tipos de activadores basados en GitHub

Si tu código fuente está en GitHub, Cloud Build ofrece dos maneras de activar automáticamente tus compilaciones. En esta sección, se explican los dos activadores basados en GitHub y se comparan sus características.

  • Activadores heredados de GitHub: Cuando creas un activador heredado de GitHub, Cloud Build duplica tu repositorio de GitHub en Cloud Source Repositories y usa el repositorio duplicado para todas sus operaciones. Puedes crear y administrar activadores de GitHub con Google Cloud Console.

  • Activadores de GitHub: Este tipo de activador usa la app de GitHub de Cloud Build para configurarse y autenticarse en GitHub. Los activadores de GitHub te permiten iniciar de forma automática las compilaciones en los envíos de Git y las solicitudes de extracción, y ver los resultados de compilación en GitHub y Google Cloud Console. Puedes crear y administrar activadores de GitHub con Google Cloud Console o la API de Cloud Build, como se describe en esta página.

  • Activadores de GitHub Enterprise: este tipo de activador te permite invocar compilaciones en respuesta a confirmaciones o solicitudes de extracción en una instancia de GitHub Enterprise. Puedes compilar repositorios desde GitHub Enterprise mediante Google Cloud Console o la API de Cloud Build.

En la siguiente tabla, se comparan los activadores heredados de GitHub, los activadores de GitHub y los activadores de GitHub Enterprise:

Atributo Activadores heredados de GitHub Activadores de GitHub Activadores de GitHub Enterprise
Invocar compilaciones a partir de envíos al código fuente
Ejecuta compilaciones en solicitudes de extracción No
Crear activador con Google Cloud Console
Crear activador con la API de Cloud Build No
Crear activador con la aplicación de GitHub de Cloud Build No
Visualiza el estado de compilación en Google Cloud Console
Ver el estado de la compilación en GitHub No

Uso compartido de datos

Los activadores de GitHub envían datos a la aplicación de GitHub en Cloud Build. Los datos enviados a la app te ayudan a identificar los activadores por nombre y ver los resultados de la compilación en GitHub.

Por el momento, los datos siguientes se comparten entre Google Cloud y la app de GitHub:

  • 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. A fin de habilitar el uso compartido de datos para todos los activadores de GitHub de tu proyecto, haz clic en Habilitar en la pestaña de uso compartido de datos de Cloud Build.

Si habilitaste las verificaciones de estado obligatorias para un repositorio de GitHub, habilitar el uso compartido de datos puede interrumpir de forma temporal 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 cualquier verificación necesaria específica de Cloud Build en el repositorio de GitHub.
  • 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.

¿Qué sigue?