您知道配置云 运行 从 cloudbuild.yaml 设置 cloudsql 的任何方式吗?

Do you know any way of configuring cloud run to set a cloudsql from a cloudbuild.yaml?

我正在尝试以比将 postgres 数据库设置为 public 更安全的方式将 cloudsql 实例连接到云 运行 服务:为此,[1] 通过 CLI,但是使用文件而不是命令来管理配置不是更好吗?因为,在这种情况下,每次云构建触发器构建它时我都必须更新图像,不是吗?所以'我正在考虑使用以下代码将 --set-cloudsql-instances 包含在 cloudbuild.yaml 中,但是在 运行 之后日志显示此 --set-cloudsql-instances INSTANCE_NAME 是一个无效参数。你能给我一些关于设置这个的建议吗?

提前致谢。

gcloud beta run deploy $PROJECT --image $IMAGE_NAME --platform=managed --region us-central1 --project $PROJECT --set-cloudsql-instances $PROJECT-db
steps:
  - name: gcr.io/cloud-builders/docker
    args:
      - build
      - '--no-cache'
      - '-t'
      - '$_GCR_HOSTNAME/$PROJECT_ID/$REPO_NAME/$_SERVICE_NAME:$COMMIT_SHA'
      - .
      - '-f'
      - Dockerfile
    id: Build
  - name: gcr.io/cloud-builders/docker
    args:
      - push
      - '$_GCR_HOSTNAME/$PROJECT_ID/$REPO_NAME/$_SERVICE_NAME:$COMMIT_SHA'
    id: Push
  - name: gcr.io/google.com/cloudsdktool/cloud-sdk
    args:
      - run
      - services
      - update
      - $_SERVICE_NAME
      - '--platform=managed'
      - '--image=$_GCR_HOSTNAME/$PROJECT_ID/$REPO_NAME/$_SERVICE_NAME:$COMMIT_SHA'
      - >-
        --labels=managed-by=gcp-cloud-build-deploy-cloud-run,commit-sha=$COMMIT_SHA,gcb-build-id=$BUILD_ID,gcb-trigger-id=$_TRIGGER_ID,$_LABELS
      - '--region=$_DEPLOY_REGION'
      - '--quiet'
      - '--set-cloudsql-instances $PROJECT_ID:$_DEPLOY_REGION:INSTANCE_NAME'
    id: Deploy
    entrypoint: gcloud
images:
  - '$_GCR_HOSTNAME/$PROJECT_ID/$REPO_NAME/$_SERVICE_NAME:$COMMIT_SHA'
options:
  substitutionOption: ALLOW_LOOSE
substitutions:

添加一个等式,您需要在 Cloudbuild 中定义 INSTANCE_NAME 变量(我将其记为替换变量 $_INSTANCE_NAME

- '--set-cloudsql-instances=$PROJECT_ID:$_DEPLOY_REGION:$_INSTANCE_NAME'