Implementar continuamente a partir de un repositorio

Si tienes código fuente o funciones en un repositorio de Git y deseas automatizar las compilaciones y configurar implementaciones continuas desde un repositorio, puedes usar Cloud Build o Developer Connect en la consola de Cloud Run.

Cuando configuras esto, Cloud Run usa un activador de Cloud Build para compilar e implementar tu código de forma automática cada vez que se envían confirmaciones nuevas a una rama específica de un repositorio de Git. 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.

En la consola de Cloud Run, haz lo siguiente:

De forma alternativa, puedes usar Cloud Deploy para configurar una canalización de entrega continua que implemente 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.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  • Si seleccionas la opción Developer Connect (versión preliminar), habilita la API de Developer Connect:

    Habilitar la API

Roles obligatorios

Para obtener los permisos que necesitas para implementar los servicios de Cloud Run desde Git con Cloud Build o Developer Connect, pídele a tu administrador que te otorgue los siguientes roles de IAM en tu proyecto:

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

Para obtener una lista de los roles y los permisos de IAM asociados con Cloud Run, consulta los roles de IAM de Cloud Run y los permisos de IAM de Cloud Run. Si tu servicio de Cloud Run interactúa con lasGoogle Cloud APIs, como las bibliotecas cliente de Cloud, consulta la guía de configuración de identidades del servicio. Para obtener más información sobre cómo otorgar roles, consulta los permisos de implementación y cómo administrar el acceso.

Configura la implementación continua desde la consola 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

  1. En la consola Google Cloud , ve a la página de Cloud Run:

    Ir a Cloud Run

  2. Si vas a crear un servicio nuevo, haz clic en Conectar repositorio para mostrar el formulario Crear servicio.

    Si vas a modificar un servicio existente, ubícalo en la lista de servicios y haz clic en él. Haz clic en Conectar al repositorio.

  3. Selecciona Cloud Build o Developer Connect.

    1. Si seleccionaste Cloud Build, consulta Configuración con Cloud Build.

    2. Si seleccionaste Developer Connect, consulta Configurar con Developer Connect.

Servicio existente

  1. En la consola Google Cloud , ve a la página de Cloud Run:

    Ir a Cloud Run

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

  3. Haz clic en Conectar al repositorio y sigue las instrucciones en Configurar con Cloud Build.

Configurar con Cloud Build

En el panel Configurar con Cloud Build, haz lo siguiente:

  1. Selecciona un repositorio de la lista. Ten en cuenta que la lista de repositorios tarda unos segundos en cargarse. Sigue la instrucción y haz clic en Siguiente.

    GitHub es el proveedor de repositorios predeterminado. Si aún no te autenticaste, haz clic en Autenticar y sigue las instrucciones. La conexión de un repositorio se realiza con la app de GitHub de Cloud Build.

    Si no encuentras tu repositorio, haz clic en el vínculo Administrar repositorios conectados. Sigue las instrucciones para otorgar acceso a tu repositorio a Cloud Build.

  2. En el paso Configuración de compilación, completa las opciones:

    • Rama

      • 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

      • Dockerfile: Selecciona esta opción si el repositorio se debe compilar con Docker y contiene un Dockerfile.

        • En Ubicación de origen, especifica la ubicación y el nombre del Dockerfile. Este directorio se usará como el contexto de compilación de Docker. Todas las rutas de acceso deben ser relativas al directorio actual.
      • Go, Node.js, Python, Java, .NET Core, Ruby o PHP a través de los buildpacks de Google Cloud: Si tu repositorio se debe compilar con buildpacks, selecciona esta opción.

        • En Build context directory, especifica el directorio.
        • En Entrypoint (opcional), proporciona el comando para iniciar el servidor. Por ejemplo, gunicorn -p :8080 main:app para Python y java -jar target/myjar.jar para Java. Deja este campo en blanco para usar el comportamiento predeterminado.
        • En Destino de la función (solo para implementaciones de funciones), ingresa la función que se invocará. De lo contrario, deja este campo en blanco.
  3. Haz clic en Guardar.

  4. Se volverá a cargar la página y se te redireccionará al formulario Crear servicio.

  5. Verifica la configuración seleccionada en la sección Repositorio de origen.

  6. Completa el resto del formulario en Configurar.

  7. Haz clic en Crear.

    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 compilación y la implementación desde el repositorio.

Después de completar todos los pasos, puedes hacer lo siguiente:

  • Haz clic en Edit repo settings en la consola de Cloud Run para editar el activador de Cloud Build en la consola de Cloud Build.
  • Para ver el historial de compilaciones, haz clic en el vínculo registros en el paso Compilando e implementando desde el repositorio.
  • Consulta los 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 adjuntarlo al servicio agregando una etiqueta a tu servicio de Cloud Run.

Para agregar una etiqueta en la consola de Cloud Run, sigue estos pasos:

  1. En la consola Google Cloud , ve a la página de Cloud Run:

    Ir a Cloud Run

  2. Selecciona tu servicio.

  3. En el servicio seleccionado, haz clic en Etiquetas en la parte superior de la página para abrir el panel Etiquetas.

  4. 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). Si la clave gcb-trigger-id ya existe, modifica el valor. Consulta Configura o modifica etiquetas para configurar la etiqueta.

Configurar con Developer Connect

En el panel Configurar con Developer Connect, haz lo siguiente:

  1. Selecciona un repositorio y haz clic en Siguiente.

    Si no ves el repositorio que deseas seleccionar, haz clic en Vincular repositorio nuevo para abrir el panel Vincula repositorios nuevos a través de Developer Connect. Haz clic en la pestaña correspondiente para obtener más información sobre cómo conectarte a uno de los proveedores de administración de código fuente.

    GitHub

    En las opciones GitHub, GitHub Enterprise Cloud y GitHub Enterprise, haz clic en Conectar.

    Si no ves un diálogo, desactiva los complementos del navegador que bloquean ventanas emergentes y asegúrate de que la configuración del navegador permita las ventanas emergentes. Por ejemplo, en Chrome, sigue las instrucciones para permitir ventanas emergentes.

    Otorga permisos en tu cuenta de GitHub y vincula los repositorios siguiendo las instrucciones que se indican a continuación. Los mensajes que ves en tu navegador web dependen de si la cuenta de GitHub ya tiene instalada la app de GitHub de Cloud Run.

    En el cuadro de diálogo de Cloud Run, completa los siguientes pasos:

    Si ves una lista de cuentas de GitHub, instala la app y vincula repositorios completando estos pasos:

    1. Elige la cuenta de GitHub que deseas usar.

    2. Selecciona uno o más repositorios a los que quieras otorgar acceso.

    Si ves un mensaje para volver a usar una instalación de la app existente, completa estos pasos para elegir dónde configurar la app:

    1. Haz clic en Cuenta de GitHub para ver las cuentas que tienen instalada la app de Google Cloud Run. Si ves la cuenta que quieres usar, haz clic en Confirmar para elegirla.

    2. Si no ves la cuenta que quieres usar, haz lo siguiente:

      1. Elige Instala la App de GitHub en otra cuenta de GitHub y haz clic en Confirmar.

      2. Sigue los pasos de GitHub para permitir la instalación de la app.

      3. Selecciona uno o más repositorios a los que quieras otorgar acceso.

    Cuando se cierre el diálogo, se completará la instalación de la app.

    GitLab

    Para la opción GitLab, haz lo siguiente:

    1. En la sección Tokens de acceso personal, ingresa los tokens de tu cuenta:

      • Token de acceso a la API: Ingresa el token de acceso personal con el permiso api.
      • Token de acceso a la API de lectura: Ingresa el token de acceso personal con el permiso read_api.

      Eres responsable de garantizar que tus tokens de GitLab sigan siendo válidos. Los tokens de GitLab tienen una vida útil máxima de 365 días, a menos que el creador del token o un administrador especifiquen lo contrario. Para obtener información sobre cómo administrar la configuración y las notificaciones de vencimiento de tokens, consulta la documentación de GitLab sobre los tokens de acceso personal.

      Para obtener más información, consulta la documentación de GitLab sobre el vencimiento de los tokens de acceso personal.

    2. Haz clic en Mostrar más para ver los parámetros de configuración opcionales.

    3. Opcional: En la sección Encriptación, selecciona una clave de CMEK para encriptar los secretos de Secret Manager que crea Cloud Run.

    GitLab Enterprise Edition

    Para la opción GitLab Enterprise Edition, haz lo siguiente:

    1. En URL del host, ingresa la URL del host al que deseas conectarte.

    2. En la sección Tokens de acceso personal, ingresa los tokens de tu cuenta:

      • Token de acceso a la API: Ingresa el token de acceso personal con el permiso api.
      • Token de acceso a la API de lectura: Ingresa el token de acceso personal con el permiso read_api.

      Eres responsable de garantizar que tus tokens de GitLab sigan siendo válidos. Los tokens de GitLab tienen una vida útil máxima de 365 días, a menos que el creador del token o un administrador especifiquen lo contrario. Para obtener información sobre cómo administrar la configuración y las notificaciones de vencimiento de tokens, consulta la documentación de GitLab sobre los tokens de acceso personal.

      Para obtener más información, consulta la documentación de GitLab sobre el vencimiento de los tokens de acceso personal.

    3. Haz clic en Mostrar más para ver los parámetros de configuración opcionales.

    4. Opcional: En la sección Encriptación, selecciona una clave de CMEK para encriptar los secretos de Secret Manager que crea Cloud Run.

    Bitbucket

    Para la opción Bitbucket Cloud, haz lo siguiente:

    1. En Workspace, ingresa tu ID de espacio de trabajo de Bitbucket Cloud.

    2. En la sección Access Tokens, ingresa tus tokens de acceso de Bitbucket:

    3. Haz clic en Mostrar más para ver los parámetros de configuración opcionales.

    4. Opcional: En la sección Encriptación, selecciona una clave de CMEK para encriptar los secretos de Secret Manager que crea Cloud Run.

    Bitbucket Data Center

    Para la opción Bitbucket Data Center, haz lo siguiente:

    1. En Host URL, ingresa la URL del host de Bitbucket Data Center al que deseas conectarte.

    2. En la sección Access Tokens, ingresa tus tokens de acceso de Bitbucket Cloud:

      • Token de acceso de administrador: Ingresa el token con acceso de permiso de administrador de repositorios.

      • Token de acceso de lectura: Ingresa el token con acceso al permiso de lectura del repositorio.

    3. Haz clic en Mostrar más para ver los parámetros de configuración opcionales.

    4. Opcional: En la sección Encriptación, selecciona una clave de CMEK para encriptar los secretos de Secret Manager que crea Cloud Run.
  2. Haz clic en Conectar. Este proceso puede tardar unos segundos.

  3. En el paso Configuración de compilación, completa las opciones:

    • Rama

      • 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

      • Dockerfile: Selecciona esta opción si el repositorio se debe compilar con Docker y contiene un Dockerfile.

        • En Ubicación de origen, especifica la ubicación y el nombre del Dockerfile. Este directorio se usará como el contexto de compilación de Docker. Todas las rutas de acceso deben ser relativas al directorio actual.
      • Go, Node.js, Python, Java, .NET Core, Ruby o PHP a través de los buildpacks de Google Cloud: Si tu repositorio se debe compilar con buildpacks, selecciona esta opción.

        • En Build context directory, especifica el directorio.
        • En Entrypoint (opcional), proporciona el comando para iniciar el servidor. Por ejemplo, gunicorn -p :8080 main:app para Python y java -jar target/myjar.jar para Java. Deja este campo en blanco para usar el comportamiento predeterminado.
        • En Destino de la función (solo para implementaciones de funciones), ingresa la función que se invocará. De lo contrario, deja este campo en blanco.
  4. Haz clic en Guardar.

  5. Completa el resto del formulario en Configurar.

  6. Cuando termines de configurar tu servicio, haz clic en Crear para implementar la imagen en Cloud Run y espera a que termine la implementación.

  7. Haz clic en el vínculo de la URL que se muestra para abrir el extremo único y estable del servicio implementado.