Puedes usar Cloud Build para automatizar las compilaciones y los despliegues en Cloud Run con un activador de Cloud Build para compilar y desplegar automáticamente tu código cada vez que se envíen nuevas confirmaciones a una determinada rama de un repositorio de Git. Por ejemplo, consulta la guía de inicio rápido para crear un repositorio de plantillas e implementar continuamente desde Git.
Cuando usas un activador de Cloud Build para compilar contenedores, la información del repositorio de origen se muestra en la consola de Google Cloud de tu servicio después de desplegarlo en Cloud Run.
También puedes usar Cloud Deploy para configurar una canalización de entrega continua que despliegue servicios de Cloud Run en varios entornos.
Antes de empezar
- Tienes un repositorio de Git con un
Dockerfile
o tu base de código está escrita en uno de los idiomas admitidos por los paquetes de compilación de Google Cloud. -
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.
Roles obligatorios
Para obtener los permisos que necesitas para desplegar servicios de Cloud Run desde Git mediante Cloud Build, pide a tu administrador que te conceda los siguientes roles de gestión de identidades y accesos en tu proyecto:
-
Administrador de Artifact Registry (
roles/artifactregistry.admin
) -
Editor de Cloud Build (
roles/cloudbuild.builds.editor
) -
Cloud Run Developer (
roles/run.developer
) -
Usuario de cuenta de servicio (
roles/iam.serviceAccountUser
) -
Administrador de Uso de Servicio (
roles/serviceusage.serviceUsageAdmin
)
La cuenta de servicio que ejecuta la compilación debe tener los siguientes roles:
- Cuenta de servicio de Cloud Build (
roles/cloudbuild.builds.builder
) - Administrador de Cloud Run (
roles/run.admin
) - Usuario de cuenta de servicio (
roles/iam.serviceAccountUser
)
Para ver una lista de los roles y permisos de gestión de identidades y accesos asociados a Cloud Run, consulta los artículos sobre roles de gestión de identidades y accesos de Cloud Run y permisos de gestión de identidades y accesos de Cloud Run. Si tu servicio de Cloud Run interactúa con APIs, como las bibliotecas de cliente de Cloud, consulta la guía de configuración de la identidad del servicio.Google Cloud Para obtener más información sobre cómo conceder roles, consulta los artículos sobre permisos de implementación y gestión del acceso.
Configurar el despliegue continuo desde la interfaz de usuario de Cloud Run
El procedimiento de configuración varía ligeramente en función de si vas a configurar la implementación continua en un servicio nuevo o en uno que ya tengas. Haz clic en la pestaña correspondiente para obtener más información.
Nuevo servicio
Crea un servicio nuevo tal como se describe en Desplegar un servicio nuevo. En la página Configuración del servicio, selecciona Desplegar continuamente nuevas revisiones desde el repositorio de origen.
En la página Configuración del servicio, haz clic en Configurar con Cloud Build.
GitHub es el proveedor de repositorios predeterminado. Si aún no te has autenticado, haz clic en Autenticar y sigue las instrucciones. Para conectar un repositorio, se usa la aplicación GitHub para Cloud Build.
Haz clic en Siguiente.
Rellena las opciones del paso Configuración de compilación:
- Rama: indica qué fuente se debe usar al ejecutar el activador. Puedes poner la regex aquí. Las ramas coincidentes se verifican automáticamente: puedes verlas debajo de la entrada. Ten en cuenta que, si se encuentra exactamente una rama, el activador se ejecutará automáticamente después de la creación.
Tipo de compilación
Si tu repositorio se debe compilar con Docker y contiene un Dockerfile, selecciona Dockerfile. Ubicación de la fuente indica la ubicación y el nombre del Dockerfile. Este directorio se usará como contexto de compilación de Docker. Todas las rutas deben ser relativas al directorio actual.
De lo contrario, selecciona Google Cloud Buildpacks. Usa Contexto de paquete de compilación para especificar el directorio y Punto de entrada (opcional) para proporcionar el comando que inicia el servidor. Ejemplo:
gunicorn -p :8080 main:app
para Pythonjava -jar target/myjar.jar
para Java. Déjelo en blanco para usar el comportamiento predeterminado.
Haz clic en Guardar.
Verifica los ajustes seleccionados.
Haz clic en Crear.
Ten en cuenta que se te redirigirá a la página Detalles del servicio, donde podrás monitorizar el progreso de la configuración de la implementación continua.
Una vez completados todos los pasos, ten en cuenta las opciones adicionales:
- Edita el despliegue continuo.
- Historial de versiones.
- Detalles de la fuente en la sección Detalles de la revisión.
Servicio actual
Busca el servicio en la lista de servicios y haz clic en él.
Haz clic en Configurar despliegue continuo.
GitHub es el proveedor de repositorios predeterminado. Si aún no te has autenticado, haz clic en Autenticar y sigue las instrucciones. Para conectar un repositorio, se usa la aplicación GitHub para Cloud Build.
Haz clic en Siguiente.
Rellena las opciones del paso Configuración de compilación:
- Rama: indica qué fuente se debe usar al ejecutar el activador. Puedes poner la regex aquí. Las ramas coincidentes se verifican automáticamente: puedes verlas debajo de la entrada. Ten en cuenta que, si se encuentra exactamente una rama, el activador se ejecutará automáticamente después de la creación.
Tipo de compilación
Si tu repositorio se debe compilar con Docker y contiene un Dockerfile, selecciona Dockerfile. Ubicación de la fuente indica la ubicación y el nombre del Dockerfile. Este directorio se usará como contexto de compilación de Docker. Todas las rutas deben ser relativas al directorio actual.
De lo contrario, selecciona Google Cloud Buildpacks. Usa Contexto de paquete de compilación para especificar el directorio y Punto de entrada (opcional) para proporcionar el comando que inicia el servidor. Ejemplo:
gunicorn -p :8080 main:app
para Pythonjava -jar target/myjar.jar
para Java. Déjelo en blanco para usar el comportamiento predeterminado.
Haz clic en Guardar.
La página se vuelve a cargar y muestra el progreso de la configuración de la implementación continua.
Una vez completados todos los pasos, ten en cuenta las opciones adicionales:
- Edita el despliegue continuo.
- Historial de versiones.
- Detalles de la fuente en la sección Detalles de la revisión.
Configurar el despliegue continuo manualmente
Consulta el artículo Configurar la implementación continua manualmente si necesitas usar un procedimiento manual en lugar de la interfaz de usuario.
Adjunta un activador de Cloud Build a un servicio de Cloud Run.
Si ya tienes un activador de Cloud Build, puedes asociarlo al servicio y aprovechar las funciones de la consola en la página Detalles del servicio: el botón Editar despliegue continuo y el gráfico Historial de compilaciones. Google Cloud
Para ello, añade una etiqueta con gcb-trigger-id como clave y el identificador único del activador de Cloud Build como valor (no el nombre del activador). Consulta Definir o modificar etiquetas para configurar la etiqueta.