基于Yaml的管道-在运行时从下拉列表中设置池名称

时间:2020-08-26 05:31:10

标签: azure-devops yaml azure-yaml-pipelines

我有这个Yaml,如何将池设置为下拉列表中选择的值?显然我现在没有用。它抱怨在这种情况下不允许使用模板表达式。

parameters:
- name: InstallNodeJS
  displayName: 'Install Node.js'
  type: boolean
  default: false

- name: AgentPoolSelector
  displayName: Select Agent Pool
  type: string
  default: Default
  values:
   - Default
   - Cloud
   - Dev Machines

variables:
  custom.branch: 'my-branch'
  
pool:
  name: $ {{ parameters.AgentPoolSelector }}

steps:
  - ${{ if eq(parameters.InstallNodeJS, true) }}:
     - template: templates/nodejs-install.yml

1 个答案:

答案 0 :(得分:1)

根据我的测试,要基于Runtime parameters设置池名称,我们应该将池插入一个作业/阶段级别。您可以尝试使用以下格式来解决此问题:

parameters:
- name: InstallNodeJS
  displayName: 'Install Node.js'
  type: boolean
  default: false

- name: AgentPoolSelector
  displayName: Select Agent Pool
  type: string
  default: Default
  values:
   - Default
   - Cloud
   - Dev Machines

variables:
  custom.branch: 'my-branch'
  
jobs:
- job:
  displayName: FirstJob
  pool: 
    name: ${{ parameters.AgentPoolSelector }}
  steps:
    - ${{ if eq(parameters.InstallNodeJS, true) }}:
      - template: templates/nodejs-install.yml
相关问题