Implementar continuamente a partir de un repositorio

Si tienes código fuente o funciones en un repositorio de Git y deseas automatizar 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 y, también, implementar de manera automática tu código cada vez que se envían confirmaciones nuevas a una rama determinada de un repositorio de Git. La información del repositorio de código fuente se muestra en la Google Cloud consola 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 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.
  • Habilita la API de Cloud Build.

    Roles necesarios para habilitar las APIs

    Para habilitar las APIs, necesitas el rol de IAM de administrador de Service Usage (roles/serviceusage.serviceUsageAdmin), que contiene el permiso serviceusage.services.enable. Obtén más información para otorgar roles.

    Habilitar la API

  • Si seleccionas la opción Developer Connect, 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 Google Cloud las 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 permisos de implementación y administra 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 Google Cloud consola, ve a la página Cloud Run:

    Ir a Cloud Run

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

    Si modificas un servicio existente, ubica el servicio 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 Configurar con Cloud Build.

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

Servicio existente

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

    Ir a Cloud Run

  2. Ubica 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 minutos en cargarse. Sigue la instrucción y haz clic en Siguiente.

    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.

    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 colocar 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: Si el repositorio se debe compilar con Docker y contiene un Dockerfile, selecciona esta opción.

        • En Ubicación de origen, especifica 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.
      • Go, Node.js, Python, Java, .NET Core, Ruby o PHP, mediante los paquetes de compilación de Google Cloud: Si el repositorio se debe compilar con paquetes de compilación, selecciona esta opción.

        • En el Directorio de contexto de compilación, especifica el directorio.
        • En Entrypoint (opcional), proporciona el comando que inicia el servidor. Por ejemplo, gunicorn -p :8080 main:app para Python y java -jar target/myjar.jar para Java. Déjalo en blanco para usar el comportamiento predeterminado.
        • En Función de destino (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. La página se vuelve a cargar y te lleva de regreso al formulario Crear servicio.

  5. Verifica la configuración seleccionada en la sección Repositorio de código fuente.

  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 Editar configuración del repositorio en la consola de Cloud Run para editar el activador de Cloud Build en la consola de Cloud Build.
  • Para ver el historial de compilación, haz clic en el vínculo registros en el paso Compilación e implementación 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, haz lo siguiente:

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

    Ir a Cloud Run

  2. Selecciona tu servicio.

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

    Para 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 a los repositorios con las siguientes instrucciones. Las instrucciones 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 diálogo de Cloud Run, completa los siguientes pasos:

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

    1. Elige la cuenta de GitHub que deseas usar.

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

    Si ves una instrucción para volver a usar una instalación de app existente, elige dónde configurar la app completando estos pasos:

    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 deseas usar, haz clic en Confirmar para elegirla.

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

      1. Elige Instalar 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 deseas 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 tokens de acceso personal.

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

    2. Haz clic en Mostrar más para ver la configuración opcional.

    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 tokens de acceso personal.

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

    3. Haz clic en Mostrar más para ver la configuración opcional.

    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 Espacio de trabajo, ingresa el ID de tu espacio de trabajo de Bitbucket Cloud.

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

    3. Haz clic en Mostrar más para ver la configuración opcional.

    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 URL del host, ingresa la URL del host de Bitbucket Data Center al que deseas conectarte.

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

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

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

    3. Haz clic en Mostrar más para ver la configuración opcional.

    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 colocar 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: Si el repositorio se debe compilar con Docker y contiene un Dockerfile, selecciona esta opción.

        • En Ubicación de origen, especifica 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.
      • Go, Node.js, Python, Java, .NET Core, Ruby o PHP, mediante los paquetes de compilación de Google Cloud: Si el repositorio se debe compilar con paquetes de compilación, selecciona esta opción.

        • En el Directorio de contexto de compilación, especifica el directorio.
        • En Entrypoint (opcional), proporciona el comando que inicia el servidor. Por ejemplo, gunicorn -p :8080 main:app para Python y java -jar target/myjar.jar para Java. Déjalo en blanco para usar el comportamiento predeterminado.
        • En Función de destino (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.