运行 在使用 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
在 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