首页 > 解决方案 > 如何使用 Google Workflow 检索 Cloud Run 服务的 URL?

问题描述

我习惯于在 Cloud Run 上使用 CI / CD 架构进行部署。每次进行部署时,我都必须手动检索通过电子邮件发送给员工的 URL。我的目标是使用 Google Workflow 自动执行此任务。如何使用 Google Workflow 检索新服务的 URL 或 Cloud Run 服务的标签?

标签: google-cloud-rungoogle-workflows

解决方案


放在一起返回云运行服务的 URL

- initialize:
    assign:
      - project: ${sys.get_env("GOOGLE_CLOUD_PROJECT_NUMBER")}
      - zone: us-central1
      - service: service
- getCloudRunDetails:
    call: http.get
    args:
        url: ${"https://"+zone+"-run.googleapis.com/apis/serving.knative.dev/v1/namespaces/"+project+"/services/"+service+"?alt=json"}
        auth:
            type: OAuth2
    result: bitresult
- returnResult:
    return: ${bitresult.body.status.address.url}

预期的输出是:

argument: 'null'
endTime: '2020-11-19T23:05:18.232772542Z'
name: projects/<edited>describeCloudRun/executions/<edited>   
result: '"https://<edited>uc.a.run.app"'
startTime: '2020-11-19T23:05:17.769640039Z'
state: SUCCEEDED
workflowRevisionId: 000020-b11

您在result密钥中拥有自己的价值。


推荐阅读