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 Google 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 compilarlos en GitHub mediante la app de GitHub de Cloud Build.

Antes de comenzar

  • Habilita la API de Cloud Build.

    Habilita la API

  • Ten tu código fuente listo en un repositorio de GitHub.
  • Tener un Dockerfile o un archivo de configuración de Cloud Build en tu repositorio de código fuente de GitHub.
  • Si conectas el repositorio a Cloud Build inicialmente, asegúrate de tener permisos de administrador en el repositorio. Para obtener más información sobre los permisos del repositorio de GitHub, consulta Niveles de permisos del repositorio para una organización.
  • Para usar los comandos de gcloud en esta página, instala la CLI de Google 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.

    Aparece la página de autorización, en la que se te solicita que autorices a 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 siguientes opciones según la necesidad de tu empresa:

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

    • Solo repositorios seleccionados: Usa el menú desplegable Seleccionar repositorios para habilitar solo el acceso de repositorios específicos a través de la app de Cloud Build.

    Podrás habilitar repositorios adicionales más adelante. Si seleccionas Todos los repositorios como opción, la app de Cloud Build estará autorizada a acceder a todos tus repositorios. Sin embargo, debes conectar cada repositorio nuevo mediante Cloud Build con los pasos que se describen en esta sección.

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

    La ventana emergente se cierra y se te dirige a una página de selección de proyecto 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, elige los siguientes campos:

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

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

      Si no encuentras 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 selecciones tu cuenta de GitHub y los repositorios, lee la renuncia de responsabilidad de consentimiento y selecciona la casilla de verificación junto a estos 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 Crea un activador de muestra para estos repositorios (opcional). Una vez que haya seleccionado 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 Google Cloud Console.

(Opcional) Actualiza la cuenta autenticada de GitHub

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 hacerlo si notas que la página del 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.

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

    • 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 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 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 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 crear y administrar activadores de GitHub Enterprise con 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 a partir de 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
Ver el estado de la 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:

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