0

我的目标是使用变量组来保存适用于所有管道的全局配置设置。具体来说,我希望能够在变量值中翻转开关,以从使用托管构建代理切换到使用私有构建代理。

我有一个名为my-variable-group 的变量组,其中包含一个名为UseHostedAgents的变量。我可以在truefalse之间切换它的值。

管道:

variables:
  - group: my-variable-group

stages:
  - stage: deploy
    pool:
      ${{ if eq(variables['UseHostedAgents'], 'true') }}:
        vmImage: ubuntu-latest
      ${{ else }}:
        name: private-pool
    jobs:
     ...

我不知道如何让它工作。似乎变量组变量值在条件插入表达式中不可用。我已经尝试了我能想到的一切都无济于事。有任何想法吗?

4

1 回答 1

0

您可以使用变量/参数来存储是否要在自定义代理池上运行或共享并使用它。

带参数的示例:

parameters:
  - name: environment
    type: string
    default: private-pool

variables:
  ${{ if eq(parameters.environment, 'private-pool') }}: 
    buildPoolName: private-pool
  ${{ else }}:
    buildPoolName: ubuntu-latest

然后在你的工作中你应该使用buildPoolName

- job: 'Job 1'
  displayName: 'Build'
  pool:
    name: $(buildPoolName)
  steps:
于 2022-02-23T15:02:04.820 回答