将管道变量从Designer传递到YAML作业模板

sel*_*imb 5 azure-devops azure-pipelines

我最初想在自己的azure-pipelines.yml队列中定义可以在队列时间设置的管道变量,但目前似乎不支持此方法:可以在队列时间设置的变量只能在Designer中定义。该变量(以逗号分隔)被命名nx_versions并将用于构建矩阵策略。这是一个最小的示例:

# azure-pipelines.yml
jobs:
- template: job-template.yml
  parameters:
    nx_versions: $(nx_versions)
Run Code Online (Sandbox Code Playgroud)

# job-template.yml
parameters:
  nx_versions: 
    - 1

jobs:
  - job: build
    strategy:
      matrix:
        ${{ each nxver in parameters.nx_versions }}:
          NX_${{ nxver }}:
            NXVersion: ${{ nxver }}
    steps:
      - powershell: echo $(NXVersion)
Run Code Online (Sandbox Code Playgroud)

对构建进行排队nx_versions = 2,3(值实际上并不重要)会导致错误:

/job-template.yml (Line: 9, Col: 9): Expected a sequence or mapping. Actual value '$(nx_versions)'
Run Code Online (Sandbox Code Playgroud)

这有可能吗?我也尝试使用${{ nx_versions }}${{ variables.nx_versions }}但无济于事。

借助完整的Designer解决方案,这是可能的。

小智 0

我遇到了同样的问题。我认为目前这是不可能的。我相信这正在处理https://github.com/Microsoft/azure-pipelines-yaml/pull/129