Despliegue continuo desde Git mediante Cloud Build

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 rama determinada 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.

    Enable the API

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:

La cuenta de servicio que ejecuta la compilación debe tener los siguientes roles:

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

  1. 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.

  2. En la página Configuración del servicio, haz clic en Configurar con Cloud Build.

  3. 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.

    Configurar el paso 1 del despliegue continuo

  4. Haz clic en Siguiente.

  5. Rellena las opciones del paso Configuración de compilación:

    • Rama: indica qué fuente se debe usar al ejecutar el activador. Puedes poner la expresión regular 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 Python java -jar target/myjar.jar para Java. Déjelo en blanco para usar el comportamiento predeterminado.

    Configurar el paso 2 del despliegue continuo

  6. Haz clic en Guardar.

  7. Verifica los ajustes seleccionados.

    Configurar la verificación del despliegue continuo

  8. Haz clic en Crear.

  9. 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.

  10. Una vez completados todos los pasos, ten en cuenta las opciones adicionales:

Servicio actual

  1. Ir a Cloud Run

  2. Busca el servicio en la lista de servicios y haz clic en él.

  3. Haz clic en Configurar despliegue continuo.

  4. 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.

    Configurar el paso 1 del despliegue continuo

  5. Haz clic en Siguiente.

  6. Rellena las opciones del paso Configuración de compilación:

    • Rama: indica qué fuente se debe usar al ejecutar el activador. Puedes poner la expresión regular 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 Python java -jar target/myjar.jar para Java. Déjelo en blanco para usar el comportamiento predeterminado.

    Configurar el paso 2 del despliegue continuo

  7. Haz clic en Guardar.

  8. La página se vuelve a cargar y muestra el progreso de la configuración de la implementación continua.

  9. Una vez completados todos los pasos, ten en cuenta las opciones adicionales:

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 Google Cloud funciones de la consola en la página Detalles del servicio: botón Editar despliegue continuo y gráfico Historial de compilaciones.

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.