将服务部署到 Cloud Run 之前,您可以使用 Cloud Run 模拟器在本地开发该服务。
配置服务以进行开发
如果您未定义 .vscode/launch.json 文件,则可以使用 Run/Debug on Cloud Run Emulator 对话框配置启动,然后将设置保存到 .vscode/launch.json。如果您已配置 .vscode/launch.json 文件,则可以直接修改该文件。
如需在本地运行服务,请指定配置:
- 打开 Command Palette(按 Ctrl/Cmd+Shift+P或点击 View > Command Palette),然后运行 Run on Cloud Run Emulator 命令。
- 在“在 Cloud Run 模拟器上运行/调试”(Run/Debug on Cloud Run Emulator) 对话框中,为您的配置设置规范: - 只有本地安装的构建工具适用于 Cloud Run 模拟器
- 选择 Docker 或 Buildpack 作为构建器,然后指定来源
- (可选)如需指定要传递给正在运行的容器的任何环境变量,请展开高级构建设置,然后点击以指定键值对。名称 说明 示例 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 连接。
- (可选)选中允许本地网络上的其他设备访问此服务选项。
- (可选)如果您只想在进行更改时手动重新构建和运行服务,而不是自动执行此操作,请取消选中自动重建并重新运行更改选项。
 
在本地运行服务
- 定义首选设置后,通过点击运行运行服务。 
- 在输出窗口中监控部署的状态。 - 部署完成后,您可以通过打开输出窗口中显示的网址来查看正在运行的服务。 
- 如需查看详细日志,请在输出窗口中切换到详细的 Cloud Run 视图。  
- 会话结束后,右键点击即可使用以下命令: - 查看日志:使用 Cloud Code 日志浏览器打开特定部署的应用日志。
- 打开网址:在 Web 浏览器中打开特定服务的应用服务网址。
 
- 如果您在启动配置中关闭了监视模式,并且您希望更改应用并重新构建和重新部署应用,请点击 Cloud Code 状态栏,然后点击开启监视模式。 
- 要停止部署,您可以在当前部署的操作栏中点击停止按钮。  
存储密文
如果您的代码包含潜在的敏感数据,例如 API 密钥、密码和证书,将它们存储为密文有助于保护这些数据。借助 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 或 Buildpacks)。 - 以下示例展示了 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" } }