Ejecuta compilaciones en GitHub

Cloud Build proporciona una app de GitHub de Cloud Build que te permite compilar tu código de forma automática cada vez que envías una confirmación nueva a GitHub.

En este instructivo, se explica cómo instalar y configurar la aplicación, y cómo activar automáticamente las compilaciones en GitHub.

Objetivos

En este instructivo, podrás realizar estas acciones:

  • Preparar un repositorio de GitHub con algún código fuente para compilar
  • Instalar y configurar la app de GitHub de Google Cloud Build
  • Realizar cambios a tu código fuente en GitHub y crear una solicitud de extracción para los cambios
  • Observar que la aplicación de Google Cloud Build cree tu código y publique los resultados en una solicitud de extracción
  • Visualizar los resultados de compilación en GitHub y Cloud Console
  • Aprender sobre las distintas formas de configurar tus compilaciones

Costos

En este instructivo, se usan los siguientes componentes facturables de Google Cloud:

  • Cloud Build

    Los primeros 120 minutos de compilación por día son gratis; se te cobrará por las compilaciones consumidas por encima de este límite. Para obtener más información, consulta la calculadora de precios.

  • Container Registry

    Si compilas con un Dockerfile y almacenas la imagen compilada en Container Registry, se te cobrará por el almacenamiento y la salida de red que consumen tus imágenes de Docker. Para obtener más información, consulta la página Precios de Container Registry.

Antes de comenzar

  1. Accede a tu Cuenta de Google.

    Si todavía no tienes una cuenta, regístrate para obtener una nueva.

  2. En la página de selección de proyectos de Cloud Console, selecciona o crea un proyecto de Cloud.

    Ir a la página Selector de proyectos

  3. Comprueba que la facturación esté habilitada en tu proyecto.

    Descubre cómo puedes habilitar la facturación

  4. Crea una cuenta de GitHub si aún no la tienes.
  5. Habilita la API de Cloud Build en el proyecto de GCP de destino.

    Habilita la API de Cloud Build

Prepara un repositorio de GitHub con archivos de origen

Para usar la app de Google Cloud Build, el repositorio debe contener un Dockerfile o un archivo cloudbuild.yaml para configurar la compilación. Tu archivo Dockerfile o cloudbuild.yaml se puede encontrar en la raíz del repositorio o en un subdirectorio del repositorio.

El Dockerfile es el archivo de configuración para compilar contenedores de Docker. Si usas la app para compilaciones de Docker, basta con que el repositorio incluya un Dockerfile. El ejemplo de este instructivo está configurado con un Dockerfile.

cloudbuild.yaml es el archivo de configuración de Cloud Build. Usa un cloudbuild.yaml en las siguientes situaciones:

  • Si deseas mejorar las compilaciones de Docker, puedes proporcionar un cloudbuild.yaml además del Dockerfile. Si el repositorio contiene un Dockerfile y un cloudbuild.yaml, la app de Google Cloud Build usará el cloudbuild.yaml para configurar las compilaciones.

  • Si deseas usar la app de Google Cloud Build para compilaciones que no son de Docker.

Para obtener instrucciones sobre cómo crear un cloudbuild.yaml, consulta la Descripción general de la configuración de compilación y Crea un archivo de configuración de compilación básico.

Bifurca el repositorio de ejemplo

A fin de trabajar con el ejemplo de este instructivo, necesitas un repositorio de GitHub con algún código fuente para compilar. Te proporcionamos un repositorio de muestra para este propósito que debes bifurcar a fin de continuar.

Sigue estos pasos para bifurcar el repositorio de muestra. Los archivos de origen del repositorio incluyen un archivo helloworld.sh y un Dockerfile, que usarás para compilar la imagen de Docker.

  1. En GitHub, navega hasta /GoogleCloudBuild/gcbapp-dockerfile-example.

  2. En la esquina superior derecha de la página, haz clic en Fork (Bifurcar).

    Captura de pantalla del botón de bifurcación

    Ahora tienes una copia del repositorio gcbapp-dockerfile-example con archivos fuente.

Instala la app de Google Cloud Build

En esta sección, instalarás la app de Google Cloud Build. Esto te permitirá conectar el repositorio de GitHub con el proyecto de Cloud y configurar la integración continua para gcbapp-dockerfile-example.

Durante la instalación y el proceso de configuración, se te pedirá, primero, que autorices a la app de Google Cloud Build a conectarse a Google Cloud Platform. Después de la autorización, se te redireccionará a Cloud Console, donde seleccionarás tu proyecto de Cloud. Luego, se te redireccionará de nuevo a GitHub.

Los siguientes pasos proporcionan instrucciones a fin de instalar la app solo para el repositorio gcbapp-dockerfile-example; pero puedes instalar la app para más de tus repositorios o todos ellos.

  1. Si aún no lo hiciste, habilita la API de Cloud Build en el proyecto de Cloud de destino.

  2. Ve a la página GitHub Marketplace de la app de Google Cloud Build:

    Ir a la página de la app de Cloud Build

  3. Desplázate hacia abajo y haz clic en Configurar con Google Cloud Build (Setup with Google Cloud Build) en la parte inferior de la página.

  4. Si se te solicita, accede a GitHub.

  5. En la página Edita tu plan (Edit your plan), selecciona o actualiza tus datos de facturación y haz clic en Otorgar acceso a esta aplicación (Grant this app access). Si ya compraste la aplicación de Cloud Build de GitHub y la vuelves a instalar, omite este paso.

  6. Selecciona una de las siguientes opciones 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.

  7. Haz clic en Instalar.

  8. Accede a Google Cloud.

    Se mostrará la página de autorización, en la que se te pide que autorices a la app de Google Cloud Build para que se conecte a Google Cloud Platform.

    Captura de pantalla del botón autorizar

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

    Se te redireccionará a Cloud Console.

  10. Selecciona tu proyecto de Cloud.

  11. Marca la casilla de verificación de consentimiento y haz clic en Siguiente.

  12. En la página Seleccionar repositorio que aparece, conecta tus repositorios de GitHub a tu proyecto de Cloud de la siguiente manera:

    a. Confirma que se ha seleccionado la cuenta correcta de GitHub.

    b. Selecciona la casilla de verificación junto a cada repositorio de destino.

    c. Lee la renuncia de responsabilidad de consentimiento y selecciona la casilla de verificación junto a la renuncia para indicar que aceptas los términos presentados.

    d. Haz clic en Conectar repositorio.

    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 aplicación de Cloud Build.

  13. Si deseas crear uno o más activadores iniciales predeterminados que activarán las compilaciones en cualquier envío de rama, usa la página Crear un activador de envío que aparece para esos activadores. Selecciona las casillas junto a cada repositorio de destino y haz clic en Crear activadores de envío. De lo contrario, omite este paso.

Ahora ya instalaste de forma correcta la app de Google Cloud Build, conectaste los repositorios elegidos con tu proyecto de Cloud y creaste activadores de envío que iniciarán tus compilaciones.

Conecta repositorios adicionales

Para conectar repositorios adicionales al proyecto de Cloud, sigue estos pasos:

  1. Ve a la página Administra tus instalaciones de GitHub de Cloud Build.

  2. Selecciona tu cuenta de GitHub y haz clic en Continuar.

  3. Haz clic en Agregar otro proyecto.

  4. En Configuración del proyecto, selecciona tu proyecto o crea uno nuevo.

  5. Haz clic en Conectar repositorio.

  6. En Selección de repositorio, selecciona todos los repositorios que deseas conectar con tu proyecto.

  7. De manera opcional, en Configuración de activador, selecciona todos los repositorios para los cuales deseas crear un activador de envío.

  8. Para crear un activador, haz clic en Crear activador de envío. De lo contrario, haz clic en Omitir por ahora para volver a la lista de repositorios conectados.

  9. Haga clic en Listo.

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. Esto puede ser necesario si usaste el flujo de repositorio de conexión inicial con una cuenta diferente de tu cuenta principal de 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 deCloud Build en GitHub.

Compila con la app de Google Cloud Build

Los archivos de origen de gcbapp-dockerfile-example consisten en un archivo helloworld.sh simple y un Dockerfile. En esta sección, harás cambios en el código de helloworld.sh y crearás una solicitud de extracción para verificar los cambios.

La aplicación de Google Cloud Build compila tu código cuando envías una confirmación nueva al repositorio. Las compilaciones de las confirmaciones enviadas incluidas en las solicitudes de extracción se incluirán en la IU de la solicitud de extracción.

  1. Abre helloworld.sh en gcbapp-dockerfile-example:

    https://github.com/[GITHUB_USERNAME]/gcbapp-dockerfile-example/blob/master/helloworld.sh
    
  2. Haz clic en el ícono de lápiz para editar el archivo.

    Captura de pantalla del botón editar archivo

  3. Agrega la línea siguiente al final del archivo:

    echo "The time is $(date)."
    
  4. Selecciona Create a new branch for this commit and start a pull request. (Crear una rama nueva para esta confirmación y comenzar una solicitud de extracción) y haz clic en Propose file change (Proponer cambio de archivo).

  5. Haz clic en Create pull request (Crear solicitud de extracción).

    Esto le da inicio a Cloud Build para compilar tu código.

  6. Dirígete a la pestaña Verificaciones (Checks).

    Captura de pantalla de la pestaña verificaciones

    Verás que Cloud Build compiló tus cambios y deberías poder ver que se completó tu compilación de forma correcta. También verás otros detalles de compilación como el tiempo que demoró en compilar tu código, el ID de compilación, etcétera.

  7. Haz clic en Visualizar 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.

  8. Dirígete a la pestaña GitHub en tu navegador y, luego, a la pestaña Conversación (Conversation).

    Captura de pantalla de la pestaña conversación

  9. Haz clic en Combinar solicitud de extracción y, luego, en Confirmar combinación.

    Listo. Ya verificaste que tu código cambia de compilación de forma correcta y registraste tus cambios.

Ejemplos adicionales

Estos son algunos repositorios de muestra que contienen ejemplos de código que usan cloudbuild.yaml como el archivo de configuración. Puedes bifurcar los repositorios y usar los pasos descritos en este instructivo para compilar el código:

Limpia

Luego de finalizar el instructivo de Cloud Build, puedes limpiar los recursos que creaste en Google Cloud para que no consuman tu cuota y no se te facturen en el futuro. En las siguientes secciones, se describe cómo borrar o desactivar estos recursos.

Quita la conexión entre el repositorio y la app de Google Cloud Build

Para detener la activación de compilaciones mediante la app de Cloud Build, quita la conexión entre el repositorio y la app mediante los pasos que se indican a continuación:

  1. Ve a la página de configuración de tu perfil de GitHub:

    Abrir la página de perfil de GitHub

  2. Accede a tu cuenta de GitHub.

  3. En Configuración personal, haz clic en Aplicaciones.

  4. Ubica la fila con Google Cloud Build y haz clic en Configurar.

  5. En Acceso al repositorio, ubica [YOUR_GITHUB_USERNAME]/gcbapp-dockerfile-example y haz clic en X.

  6. Haga clic en Guardar.

    Se te redireccionará a Google Cloud.

  7. Accede a Google Cloud.

  8. En la página de Cloud Build, busca la conexión entre tu proyecto de Cloud y gcb-dockerfile-example, y haz clic en Desvincular.

Ya quitaste la conexión entre gcb-dockerfile-example y la app de Google Cloud Build, y Cloud Build no activará las compilaciones del código de gcb-dockerfile-example.

Desinstala la app de Google Cloud Build

  1. Dirígete a la página de la app de GitHub para Google Cloud Build.

    Ir a la página de la app de Cloud Build

  2. Haz clic en Configurar.

  3. Selecciona tu nombre de usuario o la organización en la que instalaste la app.

  4. Haz clic en Desinstalar.

Borra el repositorio de GitHub

  1. En GitHub, navega hacia la página principal del repositorio.

    https://github.com/[GITHUB_USERNAME]/gcbapp-dockerfile-example
    
  2. En el nombre de tu repositorio, haz clic en Configuración.

  3. En Zona de peligro, haz clic en Borrar este repositorio.

  4. Ingresa el nombre de tu repositorio para confirmar y, luego, haz clic en Entiendo las consecuencias, borrar este repositorio.

Borra las imágenes del contenedor

  1. Abre la página de Container Registry en Google Cloud Console.

    Abrir la página de Container Registry

  2. Selecciona tu proyecto y haz clic en Abrir.

  3. Abre gcbapp-dockerfile-example.

  4. Selecciona todas las imágenes y haz clic en Borrar.

Las imágenes que creaste como parte de este instructivo se borran de tu proyecto.

Borra el proyecto

La manera más fácil de eliminar la facturación es borrar el proyecto que creaste para el instructivo.

Para borrar el proyecto, sigue estos pasos:

  1. En Cloud Console, ve a la página Administrar recursos.

    Ir a la página Administrar recursos

  2. En la lista de proyectos, selecciona el proyecto que deseas borrar y haz clic en Borrar .
  3. En el cuadro de diálogo, escribe el ID del proyecto y haz clic en Cerrar para borrar el proyecto.

Próximos pasos