cloudbuild.yaml 中构建步骤中的 gcloud beta 命令。我应该使用入口点还是参数?

gcloud beta command in build step in cloudbuild.yaml. Should I use entrypoint or args?

我正在尝试构建 Docker 映像并将其部署到云 运行。我想设置 min-instances=1 这样我就可以避免冷启动。

我正在通过 gcloud CLI 使用 Cloud Build 构建和部署它。

所以这是我在 gcloud CLI 中的第一次尝试:

gcloud builds submit . --config=./cloudbuild.yaml

这里是我的 cloudbuild.yaml:

中描述的构建步骤
steps:
  # STEP_1: DOCKER BUILDS IMAGE
  # STEP_2: DOCKER PUSHES IMAGE TO CLOUD REGISTRY

  # STEP_3: GCLOUD SHOULD DEPLOY TO CLOUD RUN (DESCRIBED BELOW)

  - name: "gcr.io/google.com/cloudsdktool/cloud-sdk"
    entrypoint: gcloud
    args:
      - "run"
      - "deploy"
      - "my-service"
      - "--image=gcr.io/$PROJECT_ID/my-image"
      - "--platform=managed"
      - "--region=us-central1"
      - "--min-instances=1"

您看到构建 STEP_3 运行:gcloud run deploy my-service ... min-instances=1

我收到以下错误:

The `--min-instances` flag is not supported in the GA release track on the 
fully managed version of Cloud Run. Use `gcloud beta` to set `--min-instances` on Cloud Run (fully managed).

所以我想我将不得不使用 gcloud beta 命令。但在那种情况下我有一些问题:

我是否还需要将 beta 命令添加到我的 gcloud builds submit . 命令中?

我应该如何在cloudbuilt.yaml中设置它?我是将它添加到 entrypoint 还是作为 args 中的参数?

选项 #1

  - name: "gcr.io/google.com/cloudsdktool/cloud-sdk"
    entrypoint: "gcloud beta"
    args:
      - "run"
   // ETC

选项 #2

  - name: "gcr.io/google.com/cloudsdktool/cloud-sdk"
    entrypoint: gcloud
    args:
      - "beta"
      - "run"
   // ETC

两者都没有隐藏的原因。

在参数下使用。所有元素都连接成一个字符串。