Automatizar compilaciones con Cloud Build

En esta página se explica cómo usar Cloud Build para automatizar compilaciones.

Cloud Build usa activadores de compilación para habilitar las automatizaciones de CI/CD. Puedes configurar activadores para que estén atentos a los eventos entrantes, como cuando se envía una nueva confirmación a un repositorio o cuando se inicia una solicitud de extracción, y, a continuación, invocar automáticamente una compilación cuando lleguen nuevos eventos.

Crearás un activador y lo configurarás para que invoque una compilación cada vez que envíes un cambio a un repositorio de GitHub.


Para seguir las instrucciones paso a paso de esta tarea directamente en el editor de Cloud Shell, haz clic en Ayúdame:

Guíame


Antes de empezar

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the Cloud Build API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  5. Install the Google Cloud CLI.

  6. Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.

  7. Para inicializar gcloud CLI, ejecuta el siguiente comando:

    gcloud init
  8. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  9. Verify that billing is enabled for your Google Cloud project.

  10. Enable the Cloud Build API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  11. Install the Google Cloud CLI.

  12. Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.

  13. Para inicializar gcloud CLI, ejecuta el siguiente comando:

    gcloud init
  14. Si aún no tienes una, crea una cuenta en GitHub.

  15. Si has configurado la autenticación de dos factores en GitHub, crea un token de acceso personal para usarlo en lugar de una contraseña de GitHub con la línea de comandos.

  16. Crear una bifurcación y clonar un repositorio de ejemplo de GitHub

    Necesitarás un código fuente de ejemplo para compilar. En esta sección, clonarás un repositorio de origen que contenga un ejemplo de Hello World en Go en tu cuenta de usuario de GitHub.
    1. Si aún no tienes una, crea una cuenta en GitHub.

    2. Si has configurado la autenticación de dos factores en GitHub, crea un token de acceso personal para usarlo en lugar de una contraseña de GitHub con la línea de comandos.

    3. Crea una bifurcación del repositorio cloud-build-samples en tu cuenta de GitHub:

      1. Ve al repositorio cloud-build-samples de Cloud Build.

      2. En la esquina superior derecha de la página, haz clic en el icono Bifurcar.

      3. Haz clic en la cuenta de usuario de GitHub en la que quieras bifurcar el repositorio.

        Se te redirigirá automáticamente a la página con tu versión bifurcada del repositorio cloud-build-samples.

    4. Abre un terminal en tu entorno local.

    5. Clona el repositorio bifurcado ejecutando el siguiente comando, donde GITHUB_USERNAME es el nombre de usuario de tu cuenta de GitHub:

      git clone https://github.com/GITHUB_USERNAME/cloud-build-samples.git

    Conectar Cloud Build a tu repositorio

    Para compilar código fuente en GitHub mediante activadores, primero debes conectar Cloud Build a tu repositorio de GitHub. En esta sección, conectarás tu repositorio de cloud-build-samples a Cloud Build.
    1. En el menú de navegación de la consola, haz clic en Cloud Build > Activadores. Google Cloud

      Abrir la página Activadores

    2. Selecciona el proyecto y haz clic en Abrir.

    3. Haz clic en Conectar repositorio.

    4. En Seleccionar fuente, selecciona GitHub (aplicación GitHub para Cloud Build).

    5. Haz clic en Continuar.

    6. Autentica tu cuenta de GitHub.

    7. En la sección Select repository (Seleccionar repositorio), selecciona el nombre de usuario de tu cuenta de GitHub. Si tu nombre de usuario no aparece en la lista:

      1. En la lista Cuenta de GitHub, haz clic en +Añadir.

        Verás una ventana emergente para instalar la aplicación de GitHub de Cloud Build.

      2. Haz clic en tu nombre de usuario de GitHub.

      3. Haz clic en Solo determinados repositorios para instalar la aplicación GitHub de Cloud Build en determinados repositorios.

      4. En el menú desplegable, selecciona GITHUB_USERNAME/cloud-build-samples, donde GITHUB_USERNAME es el nombre de usuario de tu cuenta de GitHub.

      5. Haz clic en Instalar.

        Es posible que se te pida que introduzcas la contraseña asociada a tu cuenta de GitHub antes de continuar.

      6. Una vez instalada la aplicación de GitHub para Cloud Build, verás tu nombre de usuario en el menú desplegable del campo Cuenta de GitHub. Selecciona tu nombre de usuario.

    8. En Repository (Repositorio), selecciona GITHUB_USERNAME/cloud-build-samples como repositorio.

    9. Haz clic en la marca de verificación para aceptar los términos y condiciones de la conexión del activador.

    10. Haz clic en Conectar.

    11. Haz clic en Hecho.

    En la siguiente sección, crearás un activador.

    Crear activador

    1. Abre la página Triggers (Activadores) en la Google Cloud consola:

      Abrir la página Activadores

    2. Selecciona tu proyecto en el menú desplegable del selector de proyectos situado en la parte superior de la página.

    3. Haz clic en Abrir.

    4. En la página Activadores, haz clic en Crear activador.

    5. En la página Crear activador, introduzca los siguientes ajustes:

      • Nombre: introduce hello-world-trigger como nombre del activador.

      • Evento: selecciona Enviar a una rama como evento del repositorio para invocar el activador.

      • Fuente: Selecciona el repositorio cloud-build-samples como fuente, que contiene el código fuente y el archivo de configuración de compilación.

      • Configuración de compilación: elige Archivo de configuración de Cloud Build como archivo de configuración de compilación.

      • Ubicación del archivo de configuración de Cloud Build: Especifica la ruta a tu archivo de configuración de Cloud Build como quickstart-automate/cloudbuild.yaml.

    6. Haz clic en Crear para guardar el activador de compilación.

    Confirmar un cambio

    En esta sección, confirmarás un cambio en el repositorio cloud-build-samples clonado en tu cuenta de GitHub.

    1. En el terminal, ve al directorio quickstart-automate:

      cd cloud-build-samples/quickstart-automate
    2. Abre el archivo main.go y actualiza la línea que contiene "Hello, world!". a "¡Hola, universo!"

        package main
      
        import (
            "fmt"
        )
      
        func main() {
            fmt.Println("Hello, universe!")
        }
        
    3. Consulta cloudbuild.yaml, que es el archivo de configuración de compilación que usa Cloud Build. Cuando se invoca una compilación con un activador, el paso de compilación de este archivo indica a Cloud Build que use la imagen golang de Docker Hub para compilar y ejecutar el archivo main.go.

         steps:
         - name: golang
           script: go run quickstart-automate/main.go
         
    4. Vuelve al directorio raíz de tu repositorio:

         cd ..
    5. Confirma los cambios en GitHub ejecutando los siguientes comandos:

          
          git add quickstart-automate/main.go
          git commit -m "update text"
          git push

      Es posible que se te pida que introduzcas tus credenciales al enviar código a tu repositorio. Si se te pide, introduce tu nombre de usuario y contraseña o un token de autenticación.

    Ahora has insertado un cambio en tu repositorio. Tu push activará una compilación automática.

    Ver detalles de la compilación

    En esta sección, verá los detalles de la compilación asociados a la compilación invocada después de confirmar un cambio.
    1. En el menú de navegación de la consola, haz clic en Cloud Build > Historial. Google Cloud

      Abre la página Cloud Build.

    2. Selecciona el proyecto y haz clic en Abrir.

      Verás la página Historial de compilaciones:

      Captura de pantalla de la página del historial de compilaciones de automate

    3. En la columna Compilación, haz clic en el nombre de una compilación.

    4. En la página Detalles de la compilación, haga clic en Compilar artefactos.

      Verá un resultado similar al siguiente:

      Captura de pantalla de los artefactos de compilación

    5. Para ver el registro de compilación, haz clic en el icono de descarga y consulta el archivo descargado.

    Has invocado correctamente una compilación de Cloud Build mediante un activador y has visto los detalles de la compilación.

    Limpieza

    Para evitar que se apliquen cargos en tu cuenta de Google Cloud por los recursos utilizados en esta página, sigue estos pasos.

    1. En el menú de navegación de la consola, haz clic en Cloud Build > Activadores. Google Cloud

      Abrir la página Activadores

    2. Selecciona el proyecto y haz clic en Abrir.

    3. En la fila hello-world-trigger, haga clic en el menú Acciones (tres puntos verticales) situado en el extremo derecho de la fila.

    4. Selecciona Eliminar.

    Ahora has eliminado el activador asociado a tu repositorio clonado.

    Siguientes pasos