在 Cloud Code for IntelliJ 中将服务部署到 Cloud Run

现在您已经完成了所有设置,接下来可以将服务部署到 Cloud Run 并查看服务实际上线后的效果。

定义运行配置

在部署服务之前,您必须先创建运行配置:

  1. 转到导航栏中的“运行/调试配置”选择器,然后点击修改配置
  2. 在左侧窗格中,点击 Cloud Run: Deploy
  3. 设置您的 Google Cloud 项目 ID。
  4. 部署平台下选择平台偏好设置,即 Cloud RunCloud Run for Anthos。如需详细了解每个选项,请参阅 Cloud Run 平台指南

    • 如果选择了 Cloud Run,请选择要部署到的区域。
    • 如果选择了 Cloud Run for Anthos,请配置 Kubernetes 集群信息。

      部署平台选项:Fully Managed(已选择)和 Anthos on GKE,其中已指定区域

  5. 如果您的服务是公共 API 或网站,请在“身份验证”部分中选择允许未通过身份验证的调用。否则,请选择需要身份验证

  6. 在“修订版本设置”(Revision Settings) 下,Cloud Code 将在容器映像网址字段中自动填充容器映像的存储位置(即 Cloud Code 在构建并容器化服务后将会存储该服务的位置)。 此值取决于您的 Google Cloud 项目和服务名称。

    如果需要,您可以替换此值:

    • 对于 Cloud Run 和 Cloud Run for Anthos,您都可以将映像存储在以下位置之一:
      • Artifact Registry 格式为 REGION-docker.pkg.dev/PROJECT_ID/REPO_NAME/IMAGE_PATH
        • REGION 是代码库支持的区域
        • PROJECT_ID 是包含您的集群的 Google Cloud 项目的 ID
        • REPO_NAME 是在其中存储映像的代码库的名称
        • IMAGE_PATH 是映像的路径
    • Container Registry,格式为 gcr.io/PROJECT_ID/IMAGE_NAME
      • PROJECT_ID 是您的 Google Cloud 项目的 ID
      • IMAGE_NAME 是指容器映像代码库
    • 如果您使用的是 Cloud Run for Anthos,则可以使用 docker.io/ACCOUNT 格式将映像存储在 Docker Hub 中,其中 ACCOUNT 是您的 Docker Hub 账号的名称。如果您使用的是不公开 Docker Hub 代码库,请确保您已相应通过身份验证

      打开的“Run/Debug configurations”对话框,其中已填充示例字段(项目 ID 和区域)

  7. 在“构建设置”下,选择是在本地还是在 Cloud Build 上进行构建。

  8. 选择一个构建器和插件。

    Cloud Code 支持 Docker、Jib 和 Buildpacks 工件类型

  9. 点击 OK(确定)。

可选:自定义配置

部署服务时,您可以指定其他设置,例如服务账号、环境变量,以及何时使用 Cloud Run、VPC 连接器和 SQL 连接。选择修改配置时,在高级修订版本设置部分指定其他设置。

环境变量

以下环境变量会自动添加到正在运行的容器中:

名称 说明 示例
PORT 您的 HTTP 服务器应侦听的端口。 8080
K_SERVICE 正在运行的 Cloud Run 服务的名称。 hello-world
K_REVISION 正在运行的 Cloud Run 修订版本的名称。 hello-world.1
K_CONFIGURATION 创建了该修订版本的 Cloud Run 配置的名称。 hello-world

部署您的服务

如需部署您的服务,请按以下步骤操作:

  1. 通过顶部任务栏打开“Run/Debug configurations”对话框,从中选择您的运行目标。
  2. 点击 运行操作图标 运行
  3. 通过输出窗口中显示的网址,查看运行中的服务。
  4. 您还可以访问输出窗口中显示的日志网址,以查看服务的状态(指标、修订版本详细信息等)。

    在控制台中查看服务的状态

获取支持

如需在 IntelliJ IDE 中提交反馈或报告问题,请依次前往 Tools > Cloud Code > Help / About > Submit feedback or Report an issue,以便在 GitHub 上报告问题,或者在 Stack Overflow 上提问。