如何在 Cloud Build 中为 PubSub 订阅指定 Cloud 运行 端点?

How to specify Cloud Run endpoint for PubSub Subscription in Cloud Build?

我正在构建涉及云 运行 部署的 docker,并希望在下一步中使用云 运行 作为端点添加 PubSub 推送订阅。我怎样才能 link 我在上一步中得到的端点 url?

- name: 'gcr.io/cloud-builders/docker'
  args: ['build', '--network=cloudbuild', '-t', 'gcr.io/project-${_ENVIRONMENT}/cloud_run-pubsub_example', './cloud-run/file_upserter/']

你有几个解决方案。

  • 首先,云运行管理的url还是一样的:--.run.app
    • 服务名称已知
    • 项目哈希永远不会改变。部署一次即可获得
    • 区域永远不会改变。部署一次即可获得
  • 如果要覆盖第一次部署,写一个脚本文件
gcloud beta pubsub subscriptions create <push Subscription name> --topic <topic name> \
    --push-endpoint=$(gcloud beta run services describe <service Name> --region <region> \
    --format "value(status.address.hostname)" \
    --platform managed)

在 Cloud Build 中,添加此步骤

- name: 'gcr.io/cloud-builders/gcloud'
  entrypoint: 'bash'
  args: ['<scriptFilePath>']