Implementa una aplicación alojada en contenedores en Cloud Run con Cloud Build
En esta página, se muestra cómo usar Cloud Build para implementar en Cloud Run una aplicación en contenedores.
Para seguir la guía paso a paso sobre esta tarea directamente en el editor de Cloud Shell, haz clic en Guiarme:
Antes de comenzar
- 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.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Build, Cloud Run, Artifact Registry, and Compute Engine APIs.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Build, Cloud Run, Artifact Registry, and Compute Engine APIs.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
Otorgar permisos
Cloud Build requiere los permisos Administrador de Cloud Run y Usuario de la cuenta de servicio de IAM para poder implementar una imagen en Cloud Run.
Abre una ventana de terminal.
Configura las variables de entorno para almacenar el ID y el número del proyecto:
PROJECT_ID=$(gcloud config list --format='value(core.project)') PROJECT_NUMBER=$(gcloud projects describe $PROJECT_ID --format='value(projectNumber)')
Otorga la función Administrador de Cloud Run a la cuenta de servicio de Cloud Build de la siguiente manera:
gcloud projects add-iam-policy-binding $PROJECT_ID \ --member=serviceAccount:$PROJECT_NUMBER@cloudbuild.gserviceaccount.com \ --role=roles/run.admin
Otorga la función Usuario de cuenta de servicio de IAM a la cuenta de servicio de Cloud Build en la cuenta de servicio del entorno de ejecución de Cloud Run mediante los pasos siguientes:
gcloud iam service-accounts add-iam-policy-binding \ $PROJECT_NUMBER-compute@developer.gserviceaccount.com \ --member=serviceAccount:$PROJECT_NUMBER@cloudbuild.gserviceaccount.com \ --role=roles/iam.serviceAccountUser
Implementa una imagen compilada con anterioridad
Puedes configurar Cloud Build para implementar en Cloud Run una imagen compilada con anterioridad almacenada en Artifact Registry.
Para implementar una imagen compilada con anterioridad sigue estos pasos:
Abre una ventana de la terminal (si no está abierta).
Crea un directorio nuevo llamado
helloworld
y navega hasta él:mkdir helloworld cd helloworld
Crea un archivo llamado
cloudbuild.yaml
con el siguiente contenido: Este es el archivo de configuración de Cloud Build. Contiene instrucciones para que Cloud Build implemente la imagen denominadaus-docker.pkg.dev/cloudrun/container/hello
en el servicio Cloud Run llamadocloudrunservice
.Para implementar la imagen, ejecuta el siguiente comando:
gcloud builds submit --region=us-west2 --config cloudbuild.yaml
Cuando se complete la compilación, verás un resultado similar al siguiente:
DONE
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
ID CREATE_TIME DURATION SOURCE IMAGES STATUS
784653b2-f00e-4c4b-9f5f-96a5f115bef4 2020-01-23T14:53:13+00:00 23S gs://cloudrunqs-project_cloudbuild/source/1579791193.217726-ea20e1c787fb4784b19fb1273d032df2.tgz - SUCCESS
Acabas de implementar la imagen hello
en Cloud Run.
Ejecuta la imagen implementada
Abre la página de Cloud Run en la consola de Google Cloud:
Selecciona tu proyecto y haz clic en Open.
Verás la página Servicios de Cloud Run.
En la tabla, busca la fila con el nombre cloudrunservice y haz clic en cloudrunservice.
Se muestra la página Detalles del servicio (Service details) de cloudrunservice.
Para ejecutar la imagen que implementó en cloudrunservice, haga clic en la URL:
¿Qué sigue?
- Aprende a realizar compilaciones con Cloud Build.
- Aprende a crear un archivo de configuración de compilación básico.
- Aprende a ver resultados de compilación.
- Conoce otras formas de realizar implementaciones en Cloud Run.
- Aprende a realizar implementaciones en Google Kubernetes Engine.
- Obtén más información sobre los recursos de DevOps.
- Explora el programa de investigación de DevOps.