Si tienes código fuente o funciones en un repositorio Git y quieres automatizar las compilaciones y configurar despliegues continuos desde un repositorio, puedes usar Cloud Build o Developer Connect en la consola de Cloud Run.
Cuando lo configures, Cloud Run usará un activador de Cloud Build para compilar y desplegar automáticamente tu código cada vez que se envíen nuevas confirmaciones a una rama determinada de un repositorio de Git. La información del repositorio de origen se muestra en la Google Cloud consola de tu servicio después de desplegarlo en Cloud Run.
En la consola de Cloud Run:
Si seleccionas Cloud Build, puedes configurar despliegues continuos desde GitHub. Para ver un ejemplo, consulta el inicio rápido sobre crear un repositorio de plantillas e implementar continuamente desde Git.
Si seleccionas Conexión de desarrollador (vista previa), puedes configurar implementaciones continuas desde repositorios de GitHub, GitLab y Bitbucket.
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
Dockerfileo tu base de código está escrita en uno de los idiomas admitidos por los buildpacks 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.enablepermission. Learn how to grant roles. Si seleccionas la opción Conexión de desarrollador (vista previa), habilita la API Developer Connect:
Roles obligatorios
Para obtener los permisos que necesitas para desplegar servicios de Cloud Run desde Git con Cloud Build o Developer Connect, 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) - Si seleccionas la opción Conexión de desarrollador (vista previa):
- Acceso de lectura de tokens de Developer Connect (
roles/developerconnect.readTokenAccessor) - Si te conectas a repositorios de GitLab o Bitbucket, Lector de recursos de Secret Manager (
roles/secretmanager.secretAccessor)
- Acceso de lectura de tokens de Developer Connect (
Para ver una lista de los roles y permisos de gestión de identidades y accesos asociados a Cloud Run, consulta los artículos 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 permisos de implementación y el artículo sobre cómo gestionar el acceso.
Configurar el despliegue continuo desde la consola 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
En la Google Cloud consola, ve a la página Cloud Run:
Si va a crear un servicio, haga clic en Conectar repositorio para que se muestre el formulario Crear servicio.
Si va a modificar un servicio, localícelo en la lista de servicios y haga clic en él. Haz clic en Conectar con el repositorio.
Selecciona Cloud Build o Developer Connect.
Si has seleccionado Cloud Build, consulta Configurar con Cloud Build.
Si has seleccionado Developer Connect, consulta el artículo Configurar con Developer Connect.
Servicio actual
En la Google Cloud consola, ve a la página Cloud Run:
Busca el servicio en la lista de servicios y haz clic en él.
Haz clic en Conectar con el repositorio y sigue las instrucciones de Configurar con Cloud Build.
Configurar con Cloud Build
En el panel Configurar con Cloud Build, haz lo siguiente:
Selecciona un repositorio de la lista. Ten en cuenta que la lista de repositorios tarda unos instantes en cargarse. Sigue las indicaciones y haz clic en Siguiente.
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.
Si no encuentras tu repositorio, haz clic en el enlace Gestionar repositorios conectados. Sigue las instrucciones para conceder acceso a Cloud Build a tu repositorio.
En el paso Configuración de compilación, rellene las opciones:
Branch
- 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
Dockerfile si tu repositorio se debe compilar con Docker y contiene un Dockerfile, selecciona esta opción.
- En Ubicación de la fuente, especifica 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.
Go, Node.js, Python, Java, .NET Core, Ruby o PHP a través de los paquetes de compilación de Google Cloud: si tu repositorio se debe compilar con paquetes de compilación, selecciona esta opción.
- En Directorio de contexto de compilación, especifica el directorio.
- En Punto de entrada (opcional), proporciona el comando para iniciar el servidor. Por ejemplo,
gunicorn -p :8080 main:apppara Python yjava -jar target/myjar.jarpara Java. Deje este campo en blanco para usar el comportamiento predeterminado. - En Función de destino (solo para implementaciones de funciones), introduce la función que se va a invocar. En caso contrario, deja este campo en blanco.
Haz clic en Guardar.
La página se vuelve a cargar y te lleva de nuevo al formulario Crear servicio.
Verifica los ajustes seleccionados en la sección Repositorio de origen.
Rellene el resto del formulario en Configurar.
Haz clic en Crear.
Se te redirigirá a la página Detalles del servicio, donde podrás monitorizar el progreso de la configuración de la compilación y la implementación desde el repositorio.
Una vez completados todos los pasos, puedes hacer lo siguiente:
- En la consola de Cloud Run, haz clic en Editar configuración del repositorio para editar el activador de Cloud Build en la consola de Cloud Build.
- Para ver el historial de compilación, haz clic en el enlace registros del paso Compilando y desplegando desde el repositorio.
- Consulta los detalles de la fuente en la sección Detalles de la revisión.
Configurar el despliegue continuo manualmente
Consulta la sección Configurar la implementación continua manualmente si necesitas usar un procedimiento manual en lugar de la interfaz de usuario.
Asociar un activador de Cloud Build a un servicio de Cloud Run
Si ya tienes un activador de Cloud Build, puedes adjuntarlo al servicio añadiendo una etiqueta a tu servicio de Cloud Run.
Para añadir una etiqueta en la consola de Cloud Run, sigue estos pasos:
En la Google Cloud consola, ve a la página Cloud Run:
Selecciona tu servicio.
En el servicio seleccionado, haz clic en Etiquetas en la parte superior de la página para abrir el panel Etiquetas.
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). Si la clave gcb-trigger-id ya existe, modifique el valor. Consulta Definir o modificar etiquetas para configurar la etiqueta.
Configurar con Developer Connect
En el panel Configurar con Developer Connect, haz lo siguiente:
Selecciona un repositorio y haz clic en Siguiente.
Si no ves el repositorio que quieres seleccionar, haz clic en Vincular nuevo repositorio para abrir el panel Vincular nuevos repositorios mediante Developer Connect. Haga clic en la pestaña correspondiente para obtener más información sobre cómo conectarse a uno de los proveedores de gestión de código fuente.
GitHub
En las opciones GitHub, GitHub Enterprise Cloud y GitHub Enterprise, haz clic en Conectar.
Si no ves ningún cuadro de diálogo, desactiva los complementos del navegador que bloqueen las ventanas emergentes y comprueba que la configuración del navegador permita las ventanas emergentes. Por ejemplo, en Chrome, sigue las instrucciones para permitir las ventanas emergentes.
Concede permisos en tu cuenta de GitHub y vincula repositorios siguiendo estas instrucciones. Las peticiones que veas en tu navegador web dependerán de si la aplicación de GitHub de Cloud Run ya está instalada en la cuenta de GitHub.
En el cuadro de diálogo de Cloud Run, sigue estos pasos:
Si ves una lista de cuentas de GitHub, instala la aplicación y vincula los repositorios siguiendo estos pasos:
Elige la cuenta de GitHub que quieras usar.
Selecciona uno o varios repositorios a los que quieras conceder acceso.
Si ves un mensaje para reutilizar una instalación de la aplicación, elige dónde quieres configurarla siguiendo estos pasos:
Haz clic en Cuenta de GitHub para ver las cuentas que tienen instalada la aplicación Google Cloud Run. Si ves la cuenta que quieres usar, elígela haciendo clic en Confirmar.
Si no ves la cuenta que quieres usar, haz lo siguiente:
Elige Install the GitHub App on another GitHub account (Instalar la aplicación de GitHub en otra cuenta de GitHub) y haz clic en Confirm (Confirmar).
Sigue los pasos de GitHub para permitir la instalación de la aplicación.
Selecciona uno o varios repositorios a los que quieras conceder acceso.
Cuando se cierre el cuadro de diálogo, se habrá completado la instalación de la aplicación.
GitLab
En la opción GitLab:
-
En la sección Tokens de acceso personal, introduce los tokens de tu cuenta:
- Token de acceso a la API: introduce el token de acceso personal con el ámbito
api. - Leer token de acceso a la API: introduce el token de acceso personal con el ámbito
read_api.
Es tu responsabilidad asegurarte de que tus tokens de GitLab sigan siendo válidos. Los tokens de GitLab tienen un tiempo de vida máximo de 365 días, a menos que el creador del token o un administrador especifiquen lo contrario. Para saber cómo gestionar la configuración y las notificaciones de caducidad de los tokens, consulta la documentación de GitLab sobre tokens de acceso personal.
Para obtener más información, consulta la documentación de GitLab sobre la caducidad de los tokens de acceso personal.
- Token de acceso a la API: introduce el token de acceso personal con el ámbito
Haz clic en Mostrar más para ver los ajustes de configuración opcionales.
- Opcional: En la sección Encriptado, selecciona una clave CMEK para encriptar los secretos de Secret Manager que cree Cloud Run.
GitLab Enterprise Edition
En la opción GitLab Enterprise Edition:
En URL del host, introduce la URL del host al que quieras conectarte.
-
En la sección Tokens de acceso personal, introduce los tokens de tu cuenta:
- Token de acceso a la API: introduce el token de acceso personal con el ámbito
api. - Leer token de acceso a la API: introduce el token de acceso personal con el ámbito
read_api.
Es tu responsabilidad asegurarte de que tus tokens de GitLab sigan siendo válidos. Los tokens de GitLab tienen un tiempo de vida máximo de 365 días, a menos que el creador del token o un administrador especifiquen lo contrario. Para saber cómo gestionar la configuración y las notificaciones de caducidad de los tokens, consulta la documentación de GitLab sobre tokens de acceso personal.
Para obtener más información, consulta la documentación de GitLab sobre la caducidad de los tokens de acceso personal.
- Token de acceso a la API: introduce el token de acceso personal con el ámbito
Haz clic en Mostrar más para ver los ajustes de configuración opcionales.
- Opcional: En la sección Encriptado, selecciona una clave CMEK para encriptar los secretos de Secret Manager que cree Cloud Run.
Bitbucket
En la opción Bitbucket Cloud, haz lo siguiente:
En Workspace (Espacio de trabajo), introduce tu ID de espacio de trabajo de Bitbucket Cloud.
En la sección Tokens de acceso, introduce tus tokens de acceso de Bitbucket:
- Token de acceso del autorizador: introduce tu token de acceso del autorizador.
- Token de acceso de lectura: introduce tu token de acceso de lectura.
Haz clic en Mostrar más para ver los ajustes de configuración opcionales.
- Opcional: En la sección Encriptado, selecciona una clave CMEK para encriptar los secretos de Secret Manager que cree Cloud Run.
Bitbucket Data Center
En la opción Bitbucket Data Center:
En URL del host, introduzca la URL del host de Bitbucket Data Center al que quiera conectarse.
En la sección Tokens de acceso, introduce tus tokens de acceso de Bitbucket Cloud:
Token de acceso de administrador: introduce el token con acceso al ámbito de administrador del repositorio.
Token de acceso de lectura: introduce el token con el acceso al ámbito de lectura del repositorio.
Haz clic en Mostrar más para ver los ajustes de configuración opcionales.
- Opcional: En la sección Encriptado, selecciona una clave CMEK para encriptar los secretos de Secret Manager que cree Cloud Run.
Haz clic en Conectar. Este proceso puede tardar unos segundos.
En el paso Configuración de compilación, rellene las opciones:
Branch
- 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
Dockerfile si tu repositorio se debe compilar con Docker y contiene un Dockerfile, selecciona esta opción.
- En Ubicación de la fuente, especifica 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.
Go, Node.js, Python, Java, .NET Core, Ruby o PHP a través de los paquetes de compilación de Google Cloud: si tu repositorio se debe compilar con paquetes de compilación, selecciona esta opción.
- En Directorio de contexto de compilación, especifica el directorio.
- En Punto de entrada (opcional), proporciona el comando para iniciar el servidor. Por ejemplo,
gunicorn -p :8080 main:apppara Python yjava -jar target/myjar.jarpara Java. Deje este campo en blanco para usar el comportamiento predeterminado. - En Función de destino (solo para implementaciones de funciones), introduce la función que se va a invocar. En caso contrario, deja este campo en blanco.
Haz clic en Guardar.
Rellene el resto del formulario en Configurar.
Cuando hayas terminado de configurar el servicio, haz clic en Crear para desplegar la imagen en Cloud Run y espera a que se complete el despliegue.
Haz clic en el enlace de la URL que se muestra para abrir el endpoint único y estable del servicio que has implementado.