Compilar repositorios de GitHub

Los activadores de GitHub te permiten compilar de forma automática en envíos de Git y solicitudes de extracción, y ver tus resultados de compilación en GitHub y Cloud 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 compilar en GitHub con la app de GitHub de Cloud Build.

Antes de comenzar

  • Habilita la API Cloud Build.

    Habilita la API

  • Prepara tu código fuente en un repositorio de GitHub.
  • Ten un Dockerfile o un archivo de configuración de Cloud Build en el repositorio de código fuente de GitHub.
  • Si conectas tu repositorio a Cloud Build en un principio, asegúrate de tener permisos de nivel de administrador en tu repositorio. Si deseas obtener más información sobre los permisos de repositorio de GitHub, consulta Niveles de permisos de repositorio para una organización.
  • Para usar los comandos de gcloud en esta página, instala el SDK de Cloud.

Instala la app de Cloud Build

Para instalar la app de Cloud Build y conectar tu repositorio de GitHub a tu proyecto de Cloud, haz lo siguiente:

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

    Abrir la página Activadores

  2. En el selector de proyectos de la barra superior, selecciona tu proyecto de Cloud.

  3. Haz clic en Conectar repositorio.

  4. Selecciona GitHub (Aplicación de GitHub de Cloud Build), marca la casilla de verificación de consentimiento y haz clic en Continuar.

  5. (Opcional) Si no accediste a GitHub antes, hazlo ahora.

    Aparecerá la página de autorización, en la que se te solicita que autorices la app de Google Cloud Build para que se conecte a Google Cloud.

    Captura de pantalla del botón autorizar

    Haz clic en Autorizar a Google Cloud Build a través de GoogleCloudBuild (Authorize Google Cloud Build by GoogleCloudBuild).

  6. Haz clic en Instalar Google Cloud Build.

  7. En la ventana emergente que aparece, selecciona tu organización o nombre de usuario de GitHub.

  8. Selecciona una de las opciones siguientes según la necesidad de tu empresa:

    • Todos los repositorios: Habilita el acceso a todos los repositorios de GitHub actuales y futuros a través de la aplicación de Cloud Build.

    • Solo repositorios seleccionados: Usa el menú desplegable Seleccionar repositorios para habilitar solo repositorios específicos a fin de acceder a ellos a través de la app de Cloud Build. Podrás habilitar repositorios adicionales en otro momento.

  9. Haz clic en Instalar para instalar la app de Cloud Build.

    La ventana emergente se cierra y se te dirige a la página de un selector de proyectos en Cloud Build. En esta página, puedes seleccionar un proyecto de Cloud existente o crear uno nuevo.

    Si no ves un proyecto existente en esta página, haz clic en Seleccionar proyecto para ver una lista de todos los proyectos existentes.

  10. Después de seleccionar un proyecto o crear uno nuevo, verás el panel Conectar repositorio.

  11. En la sección Seleccionar repositorio, selecciona los siguientes campos:

    • Cuenta de GitHub: La cuenta de GitHub que se usó para instalar la app de GitHub de Cloud Build. Este campo puede estar preseleccionado para ti.

    • Repositorio: Los repositorios que deseas conectar a Cloud Build.

      Si no ves uno o más de tus repositorios de destino, haz clic en Editar repositorios en GitHub y repite los pasos anteriores para habilitar repositorios adicionales en la app de GitHub de Cloud Build.

  12. Una vez que hayas seleccionado tu cuenta de GitHub y los repositorios, lee la renuncia de responsabilidad de consentimiento y selecciona la casilla de verificación junto a ella para indicar que aceptas los términos presentados.

  13. Haz clic en Connect.

  14. En la sección Crear un activador, selecciona los repositorios para los que deseas crear un activador en el campo Crear un activador de muestra para estos repositorios (opcional). , Después de seleccionar sus repositorios, haga clic en Crear un activador.

  15. Haga clic en Listo.

Ya conectaste uno o más repositorios de GitHub a tu proyecto de Cloud. Se te redireccionará a la página Activadores en Cloud Console.

Actualiza la cuenta de GitHub autenticada (opcional)

Si necesitas actualizar la cuenta de GitHub asociada con tu Cuenta de Google, puedes navegar a la página Autenticar con GitHub. Es posible que debas hacer esto si notas que la página Repositorio de Cloud Build Connect indica que la app de GitHub no está instalada en ningún repositorio después de instalar la app de Cloud Build en GitHub.

Crea activadores 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.

    • 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 (solo en apps de GitHub): 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.

      • 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 usar en tu compilación.

      • Type: Selecciona el tipo de configuración que se usará para tu 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 para tu configuración.

        • Repositorio: Si tu archivo de configuración se encuentra en tu repositorio remoto, proporciona la ubicación de tu archivo de configuración de compilación o Dockerfile{101. }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 tu compilación. Cuando hayas proporcionado el Dockerfile y el nombre de la imagen, obtendrás una vista previa del comando docker build que se ejecutará en tu compilación.
        • Intercalada: Si seleccionaste archivo de configuración de Cloud Build (YAML o JSON) como opción de configuración, puedes especificar la configuración de compilación intercalada. Haz clic en Abrir editor para abrir tu archivo de configuración de compilación en Google Cloud Console mediante la 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.

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

gcloud

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

    gcloud beta builds triggers create github \
        --repo=REPO_NAME \
        --branch-pattern=BRANCH_PATTERN \ # or --tag-pattern=TAG_PATTERN
        --build-config=BUILD_CONFIG_FILE

Aquí:

  • REPO_NAME es el nombre 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 el repositorio para invocar la compilación.
  • BUILD_CONFIG_FILE es la ruta de acceso al archivo de configuración de compilación.

Cómo compilar y ver tus cambios

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

Para ver los 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ó los cambios. También verás otros detalles de compilación, como el tiempo que llevó compilar el código y el ID de compilación.

Para ver los cambios de compilación en Cloud Build, haz clic en Ver más detalles en Google Cloud Build. Se abrirá la página Detalles de compilación en 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 proporciona dos maneras de ejecutar compilaciones de forma automática. 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 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 automáticamente compilaciones en envíos de Git y solicitudes de extracción, y ver resultados de compilación en GitHub y Cloud Console. Puedes crear y administrar activadores de GitHub con Cloud Console o la API de Cloud Build.

  • Activadores de GitHub Enterprise: Este tipo de activador te permite invocar compilaciones en respuesta a solicitudes de extracción o confirmación en una instancia de GitHub Enterprise. Puedes crear y administrar activadores de GitHub Enterprise mediante 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:

Función Activadores heredados de GitHub Activadores de GitHub Activadores de GitHub Enterprise
Ejecuta compilaciones en envíos al código fuente
Ejecuta compilaciones en solicitudes de extracción No
Crear activadores con Cloud Console
Crear activador con la API de Cloud Build No
Crear activador con la aplicación de GitHub de Cloud Build No
Ver el estado de compilación en 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 app de GitHub de Cloud Build. Los datos enviados a la app te ayudan a identificar activadores por nombre y a 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:

  • Nombre del activador

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 del proyecto. Para ello, haz clic en Habilitar en la pestaña Compartir 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?