Desarrolla un servicio de Cloud Run de manera local en Cloud Code para Cloud Shell

Antes de implementar un servicio en Cloud Run, puedes desarrollarlo de forma local con un emulador de Cloud Run.

Configura el servicio para el desarrollo

Si no tienes un archivo .vscode/launch.json definido, el diálogo Run/Debug on Cloud Run Emulator te permite configurar el inicio y, luego, guardar la configuración en .vscode/launch.json. Si tienes un archivo .vscode/launch.json configurado, puedes editarlo directamente.

Para ejecutar el servicio de forma local, especifica la configuración:

  1. Abre la paleta de comandos (presiona Ctrl/Cmd+Shift+P) y ejecuta el comando Run on Cloud Run Emulator.
  2. En el diálogo Run/Debug on Cloud Run Emulator, establece las especificaciones para tu configuración:

    • Solo las herramientas de compilación instaladas de forma local están disponibles para el emulador de Cloud Run
    • Selecciona Docker o Buildpacks como compilador y, luego, especifica la fuente.
    • Para especificar las variables de entorno que se pasarán a los contenedores en ejecución, expande Configuración de compilación avanzada y, luego, haz clic para especificar pares clave-valor (opcional).
      Nombre Descripción Ejemplo
      PORT El puerto para que el servidor HTTP escuche. 8080
      K_SERVICE El nombre del servicio de Cloud Run que se ejecuta. hello-world
      K_REVISION El nombre de la revisión de Cloud Run que se ejecuta. hello-world.1
      K_CONFIGURATION El nombre de la configuración de Cloud Run que creó la revisión. hello-world
    • Para especificar las conexiones de Cloud SQL, expande la Configuración avanzada del servicio, haz clic en Conexiones y, luego, especifica una conexión de Cloud SQL por línea (opcional).
    • (Opcional) Marca la opción para hacer que el servicio sea accesible desde otros dispositivos en la red local.
    • (Opcional) Si solo deseas volver a compilar y ejecutar tu servicio de forma manual, en lugar de hacerlo automáticamente cuando realizas un cambio, desmarca la opción Volver a compilar y ejecutar automáticamente los cambios.

Ejecuta el servicio de forma local

  1. Después de definir la configuración preferida, ejecuta el servicio haciendo clic en Ejecutar.
  2. Supervisa el estado de tu implementación en la ventana de salida.

    Una vez finalizada la implementación, puedes ver el servicio en ejecución abriendo la URL que se muestra en la ventana de salida.

  3. Para ver los registros detallados, cambia a la vista detallada de Cloud Run en la ventana de salida.

    Panel de salida con "hello-world-5 - Detallado&quot seleccionado del menú desplegable del canal de salida

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

  6. Para detener la implementación, puedes hacer 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

Almacena secretos

Si tu código incluye datos potencialmente sensibles, como claves de API, contraseñas y certificados, su almacenamiento como secretos puede ayudarte a protegerlos. La integración de Secret Manager de Cloud Code te permite almacenar estos secretos de forma segura y recuperarlos de manera programática. Para obtener información detallada sobre cómo crear y administrar secretos con Cloud Code, consulta la guía de Secret Manager.

Personaliza una configuración launch.json existente

El complemento de Cloud Code actualiza el archivo de configuración launch.json automáticamente cuando eliges una acción de ejecución. Para personalizar aún más cómo se ejecuta tu servicio, puedes especificar los siguientes campos en tu archivo .vscode/launch.json:

  • watch: Observa los cambios en el lugar de trabajo y vuelve a ejecutar el servicio. Verdadero de forma predeterminada.

    En el siguiente ejemplo, se muestra el reloj configurado en true:

    "watch": true,
    
  • build: especifica el compilador (Docker, JibMaven, jibGradle o buildpacks) para que compile tus imágenes.

    En el siguiente ejemplo, se muestra un compilador de Docker:

    "build": {
      "docker": {
        "path": "Dockerfile"
      }
    },
    

    En el siguiente ejemplo, se muestra un compilador de paquetes de compilación:

    "build": {
      "buildpacks": {
        "path": "src/requirements.txt",
        "builder": "gcr.io/buildpacks/builder:v1"
      }
    },
    
  • image: Especifica el nombre de la imagen que se usará.

    En el siguiente ejemplo, se muestra cómo especificar un nombre de imagen:

      "image": "hello-world",
    
  • service: Especifica el servicio de Cloud Run que se usará.

    En el siguiente ejemplo, se muestra cómo especificar un nombre de servicio, un puerto y límites de recursos:

    "service": {
      "name": "hello-world",
      "containerPort": 8080,
      "resources": {
        "limits": {
          "memory": "256Mi"
        }
      }
    },
    
  • debug: especifica una configuración de depuración como la asignación de ruta remota para asignar una ruta local a una ruta en el contenedor remoto.

    En el siguiente ejemplo, se muestra una sección de depuración que indica los archivos de origen:

    "debug": {
      "sourceFileMap": {
        "${workspaceFolder}": "/app"
      }
    }