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

Azure devops 基于Yaml的管道-从下拉列表中设置运行时的池名称,azure-devops,yaml,azure-yaml-pipelines,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: D

我有这个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

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

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