Ejecuta compilaciones en GitHub

Cloud Build proporciona una aplicación de GitHub de Cloud Build que te permite compilar automáticamente tu código 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
  • Ver los resultados de la compilación en GitHub y GCP Console
  • Aprender sobre las distintas formas de configurar tus compilaciones

Costos

En este instructivo, se usa el siguiente componente facturable de GCP:

  • 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 GCP Console, en la página de selección de proyecto, selecciona o crea un proyecto de GCP.

    Ir a la página de selección de proyecto

  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.

    Habilitar la API de Cloud Build

Prepara un repositorio de GitHub con archivos fuente

A fin de usar la aplicación de Google Cloud Build, tu repositorio debe contener un archivo de Dockerfile o cloudbuild.yaml para configurar tu compilación.

El Dockerfile es el archivo de configuración para compilar los contenedores Docker. Si usas la app para compilaciones de Docker, es suficiente si tu repositorio contiene un Dockerfile. El ejemplo de este instructivo está configurado con un Dockerfile.

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

  • Si deseas ajustar tus compilaciones de Docker, puedes proporcionar un cloudbuild.yaml, además del Dockerfile. Si tu repositorio contiene un Dockerfile y un cloudbuild.yaml, la aplicación 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.

Si deseas obtener instrucciones para crear un cloudbuild.yaml, lee las secciones 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. Entre los archivos fuente del repositorio, se incluyen un archivo helloworld.sh y un Dockerfile, que usarás para compilar tu imagen de Docker.

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

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

    Captura de pantalla del botón de bifurcación

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

Instala la aplicación de Google Cloud Build

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

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

En los pasos siguientes, se te proporcionan instrucciones de instalación de la aplicación solo para el repositorio gcbapp-dockerfile-example. Sin embargo, puedes elegir instalar la aplicación para más repositorios o todos.

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

  2. Ve a la página GitHub Marketplace de la aplicación de Google Cloud Build:

    Ir a la página de la aplicación 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 GitHub de Cloud Build y la vuelves a instalar, omite este paso.

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

    • Todos los repositorios (All repositories): 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 (Only select repositories): Usa el menú desplegable Seleccionar repositorios (Select repositories) a fin de habilitar solo repositorios específicos para acceder a través de la aplicación de Cloud Build. Podrás habilitar repositorios adicionales más adelante.

  7. Haz clic en Instalar (Install).

  8. Accede a GCP.

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

    Captura de pantalla del botón para 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 GCP Console.

  10. Selecciona tu proyecto de GCP.

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

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

    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 instalaste correctamente la aplicación de Google Cloud Build, conectaste los repositorios elegidos a tu proyecto de GCP y creaste activadores de envío que iniciarán tus compilaciones.

Conecta repositorios adicionales

Si deseas conectar repositorios adicionales a tu proyecto de GCP después de haber instalado la aplicación de Google Cloud Build con las instrucciones de la sección anterior, sigue los pasos a continuación:

  1. Si aún no lo has hecho, obtén el ID de instalación de tu instancia de aplicación de Google Cloud Build:

    a. Navega a la página de instalaciones de GitHub.

    b. Localiza la aplicación de Google Cloud Build y haz clic en Configurar junto a esta.

    c. En la barra de direcciones de tu navegador, examina la URL de la página Configurar. El ID de instalación se encuentra al final de la URL de la manera siguiente:

    https://github.com/settings/installations/[INSTALLATION_ID]

  2. Accede a la URL siguiente y reemplaza el ID de instalación de la aplicación del paso 1:

    https://console.cloud.google.com/m/gcb/github/setup?installation_id=[INSTALLATION_ID]

  3. En la página Conectar repositorios que aparece, busca el proyecto de GCP deseado y haz clic en Editar junto a este.

  4. En la página que aparece, selecciona los repositorios que deseas conectar y haz clic en Conectar repositorio.

  5. Haz clic en Listo.

Realiza compilaciones con la aplicación de Google Cloud Build

Los archivos fuente en gcbapp-dockerfile-example consisten de un archivo simple helloworld.sh y un Dockerfile. En esta sección, realizarás cambios al código en helloworld.sh y crearás una solicitud de extracción para verificar tus 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 de la siguiente manera:

    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 para 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 Checks (Verificaciones).

    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 View more details on Google Cloud Build (Ver más detalles en Google Cloud Build).

    Se abre la página Build details (Detalles de compilación) en GCP Console, en la que puedes ver información de la compilación como el estado, registros y pasos de la compilación.

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

    Captura de pantalla de la pestaña conversación

  9. Haz clic en Merge pull request (Combinar solicitud de extracción) y, luego, en Confirm merge (Confirmar combinación).

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

Ejemplos adicionales

Aquí hay 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:

Realiza una limpieza

Luego de finalizar el instructivo de {{builder_name_short}}, puedes limpiar los recursos que creaste en GCP 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.

Desinstala la aplicación 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 Platform 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, haz lo siguiente:

  1. En GCP Console, dirígete a la página Administrar recursos.

    Ir a la página Administración de 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, luego, haz clic en Cerrar para borrar el proyecto.

¿Qué sigue?

  • Prueba otras funciones de Google Cloud Platform. Revisa nuestros instructivos.