使用 Azure 管道在特定的自托管服务器上运行

时间:2021-02-19 23:56:09

标签: azure-pipelines azure-pipelines-yaml

在 Azure git 中,我正在运行一些位于名为“默认”的池中的自托管代理。

在 Azure 管道(.yml 文件)中,我可以告诉作业它必须在这样的特定代理中运行

pool:
  name: Default
  demands:
  - Agent.Name -equals MACHINE1

但是,例如,如果我有 4 台机器并且我希望它在机器 1 或 2 上运行而不是在机器 3 或 4 上运行怎么办?

我原以为它看起来像这样:

pool:
  name: Default
  demands:
  - Agent.Name -equals MACHINE1 -or MACHINE2

或者可能是通配符:

pool:
  name: Default
  demands:
  - Agent.Name -equals MACHINE*

但这些都不起作用。有没有办法做到这一点?

1 个答案:

答案 0 :(得分:1)

想通了。您可以通过为服务器提供不同的用户定义功能来实现这一点。

如果您转到“项目设置”>“代理池”>“默认”>“代理”>(单击“代理”)>“功能”,那么您可以添加一个功能,例如,MACHINE1 和 MACHINE2 相同但 MACHINE3 和 MACHINE4 不同。

然后您可以测试管道中的功能,它只会在设置了该值的服务器中进行选择:

pool:
  name: Default
  demands:
    - MyVar -equals Group1