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

Run on specific self hosted servers using Azure pipelines

在 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*

但这些都不起作用。有办法吗?

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

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

然后您可以在管道中测试功能,它将 select 仅在设置了该值的服务器中:

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