Compilar repositorios de GitHub

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

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

Antes de comenzar

  • Habilita la API de Cloud Build.

    Habilita la API

Crear un activador de GitHub

Console

Para crear activadores de GitHub con Google Cloud Console, haz lo siguiente:

  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 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 (no se admite Cloud Source Repositories): Configura tu 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.
        • 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 remoto, 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 la 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 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.
  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.
  • --include-logs-with-status es una marca que puedes especificar para mostrar los registros de compilación de tus repositorios (opcional). Esta marca es compatible con las compilaciones de GitHub y los repositorios de GitHub Enterprise. Para obtener información sobre cómo ver registros de compilación, consulta Cómo ver registros de compilación.

Cómo compilar y ver tus cambios

Para compilar con activadores de GitHub, debes enviar y confirmar cambios en tu repositorio de código fuente configurado o configurar tu compilación en solicitudes de extracción. Después de revisar los cambios, Cloud Build compilará el código.

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

Captura de pantalla de la pestaña conversación

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

Para ver los cambios de compilación en Cloud Build, haz clic en View more details on Google Cloud Build. Se abrirá la página Detalles de compilación en Console, donde 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 la consola.

  • 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 automáticamente las compilaciones en los envíos de Git y las solicitudes de extracción y ver los resultados de la compilación en GitHub y la consola. Puedes crear y administrar activadores de GitHub con la consola 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 la consola 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 a partir de solicitudes de extracción No
Crear activador con Console
Crear activador con la API de Cloud Build No
Crear activador con la aplicación de GitHub de Cloud Build No
Consulta el estado de la compilación en 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?