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

Antes de ti implementar un servicio en Cloud Run puedes desarrollarla localmente con un emulador de Cloud Run.

Configura el servicio para el desarrollo

Si no tienes un archivo .vscode/launch.json definido, el El diálogo Run/Debug on Cloud Run Emulator te permite configurar la configuración luego, guarda tu configuración en .vscode/launch.json. Si tienes un Se configuró .vscode/launch.json archivo, puedes editarlo directamente.

Para ejecutar tu servicio de manera local, especifica tu configuración:

  1. Abre la paleta de comandos (presiona Ctrl/Cmd+Shift+P o haz clic en Ver > Paleta de comandos) y, luego, ejecuta el comando Ejecutar en el 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:

    • Solo las herramientas de compilación instaladas de forma local están disponibles para Cloud Run Emulador
    • Elige Docker o Buildpacks como tu 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 los pares clave-valor (opcional).
      Nombre Descripción Ejemplo
      PORT El puerto en el que se escuchará el servidor HTTP. 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
    • (Opcional) Para especificar conexiones de Cloud SQL, expande Configuración avanzada de servicio, haz clic en Conexiones y, luego, especifica una Conexión de Cloud SQL por línea.
    • (Opcional) Revisa el Haz que el servicio sea accesible desde otros dispositivos de la red local de 12 a 1 con la nueva opción de compresión.
    • Opcional: Si solo quieres volver a compilar y ejecutar el servicio de forma manual, en lugar de hacerlo automáticamente cuando realices un cambio, borra la opción Automatically re-build and re-run on changes.

Ejecuta el servicio de forma local

  1. Después de definir la configuración que prefieras, haz clic en el botón para ejecutar el servicio. Ejecutar.

  2. Supervisa el estado de tu implementación en la ventana de salida.

    Una vez completada la implementación, puedes ver el servicio en ejecución si abres la URL que se muestra en la ventana de resultados.

  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: Seleccionada la opción Detallada en el menú desplegable del canal de salida

  4. Cuando finalice la sesión, haz clic con el botón derecho para usar los siguientes comandos:

    • View Logs: Abre los registros de la aplicación de una implementación específica con la el explorador de registros de Cloud Code.
    • Open URL: Abre la URL de servicio de la aplicación de una dirección. servicio en un navegador web.
  5. Si desactivaste el modo de supervisión en la configuración de inicio y quieres realizar cambios en tu aplicación y volver a compilarla e implementarla, haz clic en la barra de estado de Cloud Code y, luego, en Activa el modo de reloj.

  6. Para detener tu implementación, puedes hacer clic en el botón Detener en la barra de acciones. para tu implementación actual.

    Barra de acciones para la implementación de Cloud Run

Almacenar secretos

Si tu código incluye datos potencialmente sensibles, como claves de API, contraseñas y certificados, almacenarlos como Secrets puede ayudar a protegerlos. El La integración de Secret Manager de Cloud Code te permite almacenarlos y recuperarlos de manera programática. Para ver en detalle cómo puedes crear y administrar Secrets 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 correr. Para personalizar aún más la manera en que tus servicio, puedes especificar los siguientes campos en tu Archivo .vscode/launch.json:

  • watch: Observa los cambios en el lugar de trabajo y lo 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 paquetes de compilación) para crear 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 un recurso límites:

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

    En el siguiente ejemplo, se muestra una sección de depuración en la que se indican los archivos de origen ubicación:

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