Puedes usar Cloud Build para automatizar las implementaciones y compilaciones en Cloud Run mediante el activador de Cloud Build a fin de compilar e implementar tu código de forma automática cada vez que se envíen confirmaciones nuevas a una rama específica de un repositorio de Git. Si quieres ver un ejemplo, consulta la guía de inicio rápido para crear un repositorio de plantillas y, luego, implementar de forma continua desde Git.
Cuando usas un activador de Cloud Build para compilar contenedores, la información del repositorio de código fuente se muestra en la consola de Google Cloud para tu servicio después de la implementación en Cloud Run.
De forma alternativa, puedes usar Cloud Deploy para configurar una canalización de entrega continua a fin de implementar servicios de Cloud Run en varios entornos.
Antes de comenzar
- Tienes un repositorio de Git con un
Dockerfile
o tu base de código está escrita en uno de los lenguajes compatibles con los paquetes de compilación de Google Cloud. -
Enable the Cloud Build API.
Funciones obligatorias
Para obtener los permisos que necesitas para implementar los servicios de Cloud Run desde Git con Cloud Build, pídele a tu administrador que te otorgue los siguientes roles de IAM en tu proyecto:
-
Administrador de Artifact Registry (
roles/artifactregistry.admin
) -
Editor de Cloud Build (
roles/cloudbuild.builds.editor
) -
Desarrollador de Cloud Run (
roles/run.developer
) -
Usuario de cuenta de servicio (
roles/iam.serviceAccountUser
) -
Administrador de Service Usage (
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 obtener una lista de los roles y los permisos de IAM asociados con Cloud Run, consulta Roles de IAM de Cloud Run y Permisos de IAM de Cloud Run. Si tu servicio de Cloud Run interactúa con las APIs de Google Cloud, como las bibliotecas cliente de Cloud, consulta la guía de configuración de identidades del servicio. Para obtener más información acerca de cómo otorgar roles, consulta Permisos de implementación y Administra el acceso.
Configura la implementación continua desde la interfaz de usuario de Cloud Run
El procedimiento de configuración varía un poco en función de si configuras la implementación continua en un servicio nuevo o en uno existente. Haz clic en la pestaña correspondiente para obtener más información.
Servicio nuevo
Crea un servicio nuevo como se describe en Implementa un servicio nuevo y asegúrate de seleccionar Implementar revisiones nuevas de forma continua desde un repositorio de código fuente en Configuración de servicios.
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 estás autenticado, haz clic en Autenticar y sigue las instrucciones. La conexión de un repositorio se realiza con la app de GitHub de Cloud Build.
Haz clic en Siguiente (Next).
Completa las opciones del paso Configuración de compilación (Build Configuration):
- Rama (Branch): Indica qué fuente se debe usar cuando se ejecuta el activador. Puedes ingresar la regex aquí. Las ramas coincidentes se verifican de forma automática, y puedes verlas debajo de la entrada. Ten en cuenta que si solo coincide una rama, el activador se ejecutará de manera automática después de la creación.
Build Type
Si el repositorio se debe compilar con Docker y contiene un Dockerfile, selecciona Dockerfile. En Ubicación de origen (Source location), se indica la ubicación y el nombre del Dockerfile. El directorio se usará como el contexto de compilación de Docker. Todas las rutas de acceso deben estar relacionadas con el directorio actual.
De lo contrario, selecciona Google Cloud Buildpacks. Usa Buildpack context para especificar el directorio y Entrypoint (opcional) a fin de proporcionar el comando que inicia el servidor. Por ejemplo,
gunicorn -p :8080 main:app
para Python,java -jar target/myjar.jar
para Java. Déjalo en blanco para usar el comportamiento predeterminado.
Haz clic en Guardar (Save).
Verifica la configuración seleccionada.
Haz clic en Crear (Create).
Ten en cuenta que se te redireccionará a la página Detalles del servicio, en la que podrás realizar un seguimiento del progreso de la configuración de la implementación continua.
Una vez que hayas completado todos los pasos, ten en cuenta las opciones adicionales:
- Edita implementaciones continuas
- Historial de compilaciones
- Detalles de la fuente en la sección Revision Details.
Servicio existente
Ubicar el servicio en la lista de servicios y haz clic en él
Haz clic en Configura la implementación continua.
GitHub es el proveedor de repositorios predeterminado. Si aún no estás autenticado, haz clic en Autenticar y sigue las instrucciones. La conexión de un repositorio se realiza con la app de GitHub de Cloud Build.
Haz clic en Siguiente (Next).
Completa las opciones del paso Configuración de compilación (Build Configuration):
- Rama (Branch): Indica qué fuente se debe usar cuando se ejecuta el activador. Puedes ingresar la regex aquí. Las ramas coincidentes se verifican de forma automática, y puedes verlas debajo de la entrada. Ten en cuenta que si solo coincide una rama, el activador se ejecutará de manera automática después de la creación.
Build Type
Si el repositorio se debe compilar con Docker y contiene un Dockerfile, selecciona Dockerfile. En Ubicación de origen (Source location), se indica la ubicación y el nombre del Dockerfile. El directorio se usará como el contexto de compilación de Docker. Todas las rutas de acceso deben estar relacionadas con el directorio actual.
De lo contrario, selecciona Google Cloud Buildpacks. Usa Buildpack context para especificar el directorio y Entrypoint (opcional) a fin de proporcionar el comando que inicia el servidor. Por ejemplo,
gunicorn -p :8080 main:app
para Python,java -jar target/myjar.jar
para Java. Déjalo en blanco para usar el comportamiento predeterminado.
Haz clic en Guardar (Save).
La página se vuelve a cargar y se muestra el progreso de la configuración de la implementación continua.
Una vez que hayas completado todos los pasos, ten en cuenta las opciones adicionales:
- Edita implementaciones continuas
- Historial de compilaciones
- Detalles de la fuente en la sección Revision Details.
Configura la implementación continua de forma manual
Consulta Configura la implementación continua de forma manual si necesitas usar un procedimiento manual y no la IU.
Adjunta el activador de Cloud Build existente al servicio de Cloud Run
Si ya tienes un activador de Cloud Build existente, puedes vincularlo al servicio y aprovechar las funciones de la consola de Google Cloud de la página Detalles del servicio: el botón Editar implementación continua y el gráfico Historial de compilaciones.
Para ello, agrega 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 Configura o modifica etiquetas para configurar la etiqueta.