在 Google Cloud Build YAML 文件中使用 $() 运算符
Use $() Operator in Google Cloud Build YAML File
我目前正在使用具有此步骤的 Google Cloud Build 构建管道
steps:
- name: 'gcr.io/cloud-builders/gcloud'
args:
- 'dataflow'
- 'jobs'
- 'cancel'
- '$(gcloud dataflow jobs list --filter="name=iot" --status=active --limit=1 --format="value(JOB_ID)")'
- '--region'
- 'asia-southeast2'
此配置的问题在于它将此 '$(gcloud dataflow jobs list --filter="name=iot" --status=active --limit=1 --format="value(JOB_ID)")'
视为字符串而不是执行其中的命令。
所以,我的问题是,Google Cloud Build YAML 文件中可以有 $()
运算符吗?以及如何?
谢谢!
可以,但必须使用 bash 入口点
steps:
- name: 'gcr.io/cloud-builders/gcloud'
entrypoint: bash
args:
- '-c'
- |
gcloud dataflow jobs cancel $(gcloud dataflow jobs list --filter="name=iot" --status=active --limit=1 --format="value(JOB_ID)") --region asia-southeast2
我目前正在使用具有此步骤的 Google Cloud Build 构建管道
steps:
- name: 'gcr.io/cloud-builders/gcloud'
args:
- 'dataflow'
- 'jobs'
- 'cancel'
- '$(gcloud dataflow jobs list --filter="name=iot" --status=active --limit=1 --format="value(JOB_ID)")'
- '--region'
- 'asia-southeast2'
此配置的问题在于它将此 '$(gcloud dataflow jobs list --filter="name=iot" --status=active --limit=1 --format="value(JOB_ID)")'
视为字符串而不是执行其中的命令。
所以,我的问题是,Google Cloud Build YAML 文件中可以有 $()
运算符吗?以及如何?
谢谢!
可以,但必须使用 bash 入口点
steps:
- name: 'gcr.io/cloud-builders/gcloud'
entrypoint: bash
args:
- '-c'
- |
gcloud dataflow jobs cancel $(gcloud dataflow jobs list --filter="name=iot" --status=active --limit=1 --format="value(JOB_ID)") --region asia-southeast2