Depura un servicio de Cloud Run

Cloud Code para Cloud Shell te permite depurar con facilidad una aplicación implementada en Cloud Run. No es necesario completar la configuración manual, como la redirección de puertos o la inserción de argumentos de depuración específicos de un lenguaje. Solo necesitas una aplicación de Cloud Run lista para usar en Cloud Code que incluya un archivo de configuración skaffold.yaml y un archivo launch.json de tipo cloudcode.cloudrun.

Depura tu servicio de Cloud Run

Para depurar tu servicio, sigue estos pasos:

  1. Para ejecutar el servicio y adjuntar una sesión del depurador, abre la paleta de comandos (haz clic en Ícono Administrar Administrar > Paleta de comandos o presiona Ctrl/Cmd+Shift+P) y, luego, ejecuta el comando Depurar en un emulador de Cloud Run.

  2. En el cuadro de diálogo Ejecutar/Depurar en un emulador de Cloud Run, establece las especificaciones para tu configuración:

    • Elige Docker o Buildpacks como tu compilador y, luego, especifica tu Dockerfile o Buildpack.
    • Si deseas especificar un objetivo de Dockerfile o argumentos de compilación, haz clic en Show Advanced Build Settings y, luego, especifica el destino o los argumentos.
    • Si deseas especificar un nombre de servicio personalizado, una URL de imagen de contenedor, un puerto de contenedor, la identidad para el servicio que se usará, la cantidad de CPU dedicadas o la cantidad de memoria que se asignará a cada instancia de contenedor, haz clic en Mostrar configuración de servicio avanzada y, luego, especifica los valores.
    • Si deseas especificar variables de entorno, haz clic en Mostrar configuración avanzada de servicios, haz clic en Variables de entorno y, luego, especifica los valores.
    • Si deseas especificar conexiones de Cloud SQL, haz clic en Conexiones y, luego, especifica una conexión por línea.

    Si quieres personalizar aún más cómo se ejecuta el servicio, puedes editar el archivo launch.json directamente.

  3. Para comenzar a depurar el servicio, haz clic en Debug (Depurar).

  4. Para cada contenedor depurable del servicio, confirma o ingresa el directorio en el contenedor remoto en el que se encuentra el programa que deseas depurar.

    De forma alternativa, puede presionar ESC para omitir la depuración del contenedor.

    Cloud Code adjunta una sesión de depuración para cada contenedor depurable del servicio.

    De forma predeterminada, cuando un cambio en tu aplicación se guarda de forma automática, Cloud Code vuelve a implementar tu aplicación y configura una nueva sesión de depuración. Puedes activar o desactivar esta función con la marca watch en la configuración de inicio del proyecto.

  5. Para agregar un punto de interrupción, haz clic en el margen del editor del archivo que estás depurando.

    Los círculos rellenos de color rojo indican las interrupciones activas y los círculos vacíos de color gris indican los puntos de interrupción inhabilitados.

    Cada vez que envíes una solicitud nueva a tu servicio, se detendrá en la línea que especificaste.

  6. Una vez que se complete la sesión, puedes usar los siguientes comandos del menú contextual:

    • Open Deployment Logs: Abre los registros de la aplicación de una implementación específica con el explorador de registros de Cloud Code.
    • Abrir URL de servicio: abre la URL del servicio de aplicación de un servicio específico en un navegador web
  7. Si desactivaste el modo de supervisión en tu configuración de inicio y quieres realizar cambios en tu aplicación, volver a compilarla y volver a implementarla, en el panel Sesiones de desarrollo, haz una pausa en la acción de ejecución y, luego, haz clic en Ícono de vuelve a compilar e implementar Volver a compilar e implementar la aplicación.

  8. Usa la barra lateral de depuración para inspeccionar información sobre las variables y la pila. Usa la consola de depuración ubicada en el depurador del panel inferior si deseas interactuar con la sesión de depuración.

  9. Para detener la implementación, haz clic en el botón Stop en la barra de acciones de la implementación actual.

    Barra de acciones de la implementación de Cloud Run