在 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