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:
Antes de empezar
- 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.
-
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 theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
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 theserviceusage.services.enable
permission. Learn how to grant roles. -
Install the Google Cloud CLI.
-
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
-
Para inicializar gcloud CLI, ejecuta el siguiente comando:
gcloud init
-
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 theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
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 theserviceusage.services.enable
permission. Learn how to grant roles. -
Install the Google Cloud CLI.
-
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
-
Para inicializar gcloud CLI, ejecuta el siguiente comando:
gcloud init
Si aún no tienes una, crea una cuenta en GitHub.
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.
Si aún no tienes una, crea una cuenta en GitHub.
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.
Crea una bifurcación del repositorio
cloud-build-samples
en tu cuenta de GitHub:Ve al repositorio cloud-build-samples de Cloud Build.
En la esquina superior derecha de la página, haz clic en el icono Bifurcar.
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
.
Abre un terminal en tu entorno local.
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
En el menú de navegación de la consola, haz clic en Cloud Build > Activadores. Google Cloud
Selecciona el proyecto y haz clic en Abrir.
Haz clic en
Conectar repositorio .En Seleccionar fuente, selecciona
GitHub (aplicación GitHub para Cloud Build) .Haz clic en
Continuar .Autentica tu cuenta de GitHub.
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: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.
Haz clic en tu nombre de usuario de GitHub.
Haz clic en Solo determinados repositorios para instalar la aplicación GitHub de Cloud Build en determinados repositorios.
En el menú desplegable, selecciona GITHUB_USERNAME/cloud-build-samples, donde GITHUB_USERNAME es el nombre de usuario de tu cuenta de GitHub.
Haz clic en Instalar.
Es posible que se te pida que introduzcas la contraseña asociada a tu cuenta de GitHub antes de continuar.
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.
En
Repository (Repositorio), selecciona GITHUB_USERNAME/cloud-build-samples como repositorio.Haz clic en la marca de verificación para aceptar los términos y condiciones de la conexión del activador.
Haz clic en
Conectar .Haz clic en
Hecho .Abre la página Triggers (Activadores) en la Google Cloud consola:
Selecciona tu proyecto en el menú desplegable del selector de proyectos situado en la parte superior de la página.
Haz clic en Abrir.
En la página Activadores, haz clic en
Crear activador .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 repositoriocloud-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 comoquickstart-automate/cloudbuild.yaml
.
Haz clic en
Crear para guardar el activador de compilación.En el terminal, ve al directorio
quickstart-automate
:cd cloud-build-samples/quickstart-automate
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!") }
Consulta
, 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 imagencloudbuild.yaml
golang
de Docker Hub para compilar y ejecutar el archivomain.go
.steps: - name: golang script: go run quickstart-automate/main.go
Vuelve al directorio raíz de tu repositorio:
cd ..
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.
En el menú de navegación de la consola, haz clic en Cloud Build > Historial. Google Cloud
Selecciona el proyecto y haz clic en Abrir.
Verás la página Historial de compilaciones:
En la columna
Compilación , haz clic en el nombre de una compilación.En la página Detalles de la compilación, haga clic en
Compilar artefactos .Verá un resultado similar al siguiente:
Para ver el registro de compilación, haz clic en el
icono de descarga y consulta el archivo descargado.En el menú de navegación de la consola, haz clic en Cloud Build > Activadores. Google Cloud
Selecciona el proyecto y haz clic en Abrir.
En la fila
hello-world-trigger
, haga clic en elmenú Acciones (tres puntos verticales) situado en el extremo derecho de la fila.Selecciona Eliminar.
- Consulta cómo crear un archivo básico de configuración de versiones.
- Consulta cómo crear y gestionar activadores de compilación.
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.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 decloud-build-samples
a Cloud Build.
Crear activador
Confirmar un cambio
En esta sección, confirmarás un cambio en el repositorio cloud-build-samples
clonado en tu cuenta de GitHub.
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.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.
Ahora has eliminado el activador asociado a tu repositorio clonado.