当从 github 触发云构建时,替换变量为空

Substitution variables are empty when cloud build was triggered from github

我的云构建触发器有一些替换变量并在 Web 控制台上设置。 当我 运行 在 Web 控制台上手动触发时,它运行良好。 但从 github 触发,替换变量为空。 当 github 触发我的构建时,如何设置替换变量?

以下是我的一部分cloudbuild.yaml。

- name: 'gcr.io/cloud-builders/kubectl'
  args: ['apply', '-f', 'service/k8s']
  env:
  - 'CLOUDSDK_COMPUTE_ZONE=${_ZONE}'
  - 'CLOUDSDK_CONTAINER_CLUSTER=${_CLUSTER_NAME}'

screenshot of my substitution variables on trigger

我无法重现这个问题。尝试添加这样的步骤来验证执行的替换是什么。

  - name: 'gcr.io/cloud-builders/gcloud'
    entrypoint: 'bash'
    args: ['-c', 'printenv | grep CLOUDSDK']
    env:
      - 'CLOUDSDK_COMPUTE_ZONE=${_ZONE}'
      - CLOUDSDK_CONTAINER_CLUSTER=${_CLUSTER_NAME}

这里我只grep了包含CLOUDSDK的环境变量。

我尝试使用和不使用环境变量周围的简单引号,使用和不使用 substitutions section。在所有情况下,它都适用于手动启动和 GitHub 事件启动。

还要检查调用的是正确的触发器(如果有多个,请禁用除此之外的所有触发器)