快速入门:部署

本页面介绍如何使用 Cloud Build 将容器化应用部署到 Cloud Run。


如需在 Cloud Shell Editor 中直接获取有关此任务的分步指导,请点击操作演示

操作演示


以下部分将引导您完成与点击操作演示相同的步骤。

准备工作

  1. 登录您的 Google Cloud 帐号。如果您是 Google Cloud 新手,请创建一个帐号来评估我们的产品在实际场景中的表现。新客户还可获享 $300 赠金,用于运行、测试和部署工作负载。
  2. 在 Google Cloud Console 的项目选择器页面上,选择或创建一个 Google Cloud 项目。

    转到“项目选择器”

  3. 确保您的 Cloud 项目已启用结算功能。 了解如何确认您的项目是否已启用结算功能

  4. 启用 Cloud Build, Cloud Run, Artifact Registry, and Compute Engine API。

    启用 API

  5. 安装并初始化 Cloud SDK
  6. 在 Google Cloud Console 的项目选择器页面上,选择或创建一个 Google Cloud 项目。

    转到“项目选择器”

  7. 确保您的 Cloud 项目已启用结算功能。 了解如何确认您的项目是否已启用结算功能

  8. 启用 Cloud Build, Cloud Run, Artifact Registry, and Compute Engine API。

    启用 API

  9. 安装并初始化 Cloud SDK

授予权限

为了将映像部署到 Cloud Run,Cloud Build 需要 Cloud Run AdminIAM Service Account User 权限。

  1. 打开一个终端窗口。

  2. 设置环境变量以存储您的项目 ID 和项目编号:

    PROJECT_ID=$(gcloud config list --format='value(core.project)')
    PROJECT_NUMBER=$(gcloud projects describe $PROJECT_ID --format='value(projectNumber)')
    
  3. Cloud Run Admin 角色授予 Cloud Build 服务帐号:

    gcloud projects add-iam-policy-binding $PROJECT_ID \
        --member=serviceAccount:$PROJECT_NUMBER@cloudbuild.gserviceaccount.com \
        --role=roles/run.admin
    
  4. IAM Service Account User 角色授予Cloud Run 运行时服务帐号上的 Cloud Build 服务帐号:

    gcloud iam service-accounts add-iam-policy-binding \
        $PROJECT_NUMBER-compute@developer.gserviceaccount.com \
        --member=serviceAccount:$PROJECT_NUMBER@cloudbuild.gserviceaccount.com \
        --role=roles/iam.serviceAccountUser
    

部署预建映像

您可以配置 Cloud Build,以将存储在 Artifact Registry 中的预建映像部署到 Cloud Run。

如需部署预建映像,请执行以下操作:

  1. 打开终端窗口(如果尚未打开)。

  2. 创建名为 helloworld 的新目录并导航至该目录:

    mkdir helloworld
    cd helloworld
    
  3. 创建名为 cloudbuild.yaml 的文件,其中包含以下内容。此文件就是 Cloud Build 配置文件。它包含 Cloud Build 在名为 cloudrunservice 的 Cloud Run 服务上部署名为 us-docker.pkg.dev/cloudrun/container/hello 的映像的说明。

    steps:
    - name: 'gcr.io/cloud-builders/gcloud'
      args:
      - 'run'
      - 'deploy'
      - 'cloudrunservice'
      - '--image'
      - 'us-docker.pkg.dev/cloudrun/container/hello'
      - '--region'
      - 'us-central1'
      - '--platform'
      - 'managed'
      - '--allow-unauthenticated'
  4. 通过运行以下命令来部署映像:

    gcloud builds submit --config cloudbuild.yaml
    

构建完成后,您将看到类似于以下内容的输出:

DONE
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

ID                                    CREATE_TIME                DURATION  SOURCE                                                                                            IMAGES  STATUS
784653b2-f00e-4c4b-9f5f-96a5f115bef4  2020-01-23T14:53:13+00:00  23S       gs://cloudrunqs-project_cloudbuild/source/1579791193.217726-ea20e1c787fb4784b19fb1273d032df2.tgz  -       SUCCESS

您刚刚将映像 hello 部署到了 Cloud Run。

运行部署的映像

  1. 在 Cloud Console 中打开 Cloud Run 页面:

    打开 Cloud Run 页面

  2. 选择您的项目,然后点击打开

    您将看到 Cloud Run 服务页面。

  3. 在表中,找到名为 cloudrunservice 的行,然后点击 cloudrunservice

    此时将显示 cloudrunservice服务详情页面。

  4. 要运行在 cloudrunservice 上部署的映像,请点击以下网址:

    “Cloud Run 服务详情”页面的屏幕截图

后续步骤