在 Cloud Code for VS Code 中在本地开发 Cloud Run 服务

将服务部署到 Cloud Run 之前,您可以使用 Cloud Run 模拟器在本地开发该服务。

配置服务以进行开发

如果您没有定义 .vscode/launch.json 文件,则 借助 Run/Debug on Cloud Run Emulator 对话框,您可以配置启动和 然后将您的设置保存到 .vscode/launch.json。如果您已配置 .vscode/launch.json 文件,则可以直接修改该文件。

如需在本地运行服务,请指定您的配置:

  1. 打开命令面板(按 Ctrl/Cmd+Shift+P 或点击查看 > Command Palette [命令面板]),然后运行 Run on Cloud Run Emulator 命令。
  2. 在“在 Cloud Run 模拟器上运行/调试”(Run/Debug on Cloud Run Emulator) 对话框中,为您的配置设置规范:

    • 只有本地安装的构建工具适用于 Cloud Run 模拟器
    • 选择 DockerBuildpacks 作为构建器,然后指定 来源
    • (可选)指定要传递给正在运行的 容器,展开 Advanced Build Settings(高级构建设置),然后点击以指定 键值对。
      名称 说明 示例
      PORT HTTP 服务器要监听的端口。 8080
      K_SERVICE 正在运行的 Cloud Run 服务的名称。 hello-world
      K_REVISION 正在运行的 Cloud Run 修订版本的名称。 Hello World.1
      K_CONFIGURATION 创建的 Cloud Run 配置的名称 修订版本 hello-world
    • (可选)如需指定 Cloud SQL 连接,请展开高级服务设置,点击连接,然后每行指定一个 Cloud SQL 连接。
    • (可选)选中允许本地网络上的其他设备访问此服务选项。
    • (可选)如果您只想手动重新构建并运行服务, 而不是在您做出更改时自动清除 有更改时自动重新构建和重新运行选项。

在本地运行服务

  1. 定义首选设置后,通过点击运行运行服务。

  2. 如果出现提示,请对您的凭据进行身份验证,以运行和调试 应用

  3. 输出窗口中监控部署的状态。

    部署完成后,您可以通过打开输出窗口中显示的网址来查看正在运行的服务。

  4. 如需查看详细日志,请在输出窗口中切换到详细的 Cloud Run 视图。

    显示“hello-world-5”- 已从“输出渠道”下拉菜单中选择“详细信息”的输出窗格

  5. 会话完成后,右键点击即可使用以下命令:

    • 查看日志:使用 Cloud Code Logs Explorer。
    • 打开网址:打开特定应用服务的网址 服务。
  6. 如果您在启动配置中关闭了手表模式,并且想要 对应用进行更改并重新构建并重新部署应用 点击 Cloud Code 状态栏,然后点击 开启手表模式

  7. 要停止部署,您可以在当前部署的操作栏中点击停止按钮。

    Cloud Run 部署的操作栏

存储密文

如果您的代码包含 API 密钥、密码和 证书,则将其存储为 Secret 可帮助保护它们。借助 Cloud Code Secret Manager 集成,您可以安全地存储这些密文并以编程方式提取它们。如需详细了解如何使用 Cloud Code 创建和管理 Secret,请参阅 Secret Manager 指南

自定义现有 launch.json 配置

当您选择运行操作时,Cloud Code 插件会自动更新 launch.json 配置文件。为了进一步自定义 则可以指定以下字段 .vscode/launch.json 文件:

  • watch:监控工作区中的更改并重新运行服务。默认情况下为 true。

    以下示例展示了设置为 true 的手表:

    "watch": true,
    
  • build:指定构建器 (Docker、 jibMaven、jibGradle 或 buildpack) 构建映像时要使用的工具

    以下示例展示了 Docker 构建器:

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

    以下示例展示了 Buildpack 构建器:

    "build": {
      "buildpacks": {
        "path": "src/requirements.txt",
        "builder": "gcr.io/buildpacks/builder:v1"
      }
    },
    
  • image:指定要使用的映像的名称。

    以下示例展示了如何指定映像名称:

      "image": "hello-world",
    
  • service:指定要使用的 Cloud Run 服务。

    以下示例展示了如何指定服务名称、端口和资源 限制:

    "service": {
      "name": "hello-world",
      "containerPort": 8080,
      "resources": {
        "limits": {
          "memory": "256Mi"
        }
      }
    },
    
  • debug:指定调试设置(例如远程路径映射),以将本地路径映射到远程容器上的路径。

    以下示例显示了一个调试部分,其中指明了源文件的位置:

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

获取支持

如需发送反馈,请在 GitHub 上报告问题,或者在 Stack Overflow 上提问。