Azure DevOps Server 2019(本地):代理作业可以 运行 串行吗?
Azure DevOps Server 2019 (on-premises): Can agent jobs be run serially?
我有一个场景,我希望构建在一个代理(作业 1)上开始 运行ning,然后在完成一些工作后,我希望它 运行踏上装有特别许可软件的机器的特殊代理(池)。 (工作 2)。完成后,我希望构建的其余部分在原始代理(作业 3)上完成。
我已经能够使用 "Variable Tools for Azure DevOps Services" 在代理作业之间成功传递任意数量的变量,即使它们 运行 在不同的机器上运行。我把一个UNC路径从Job1传给Job2/Job3等没问题
但是,我看到的是,无论我做什么,代理作业总是 运行 并行,并且没有办法让它们串行地 运行,除非它们被锁定到同一台机器上的同一个代理,这违背了整个目的。
有谁知道实现这个的方法吗?现在在测试中,我必须使用 "Start-Sleep" 或类似的东西,并反复监视外部事件。一个非常不优雅的解决方法。
我找到了答案。作业属性包含一个名为 "dependencies" 的字段。您可以通过设置对上一个作业的依赖来使其串行化。
在 Azure Devops 中,对于代理作业,您将获得以下选项
您可以select根据您的要求选择任何选项。
我有一个场景,我希望构建在一个代理(作业 1)上开始 运行ning,然后在完成一些工作后,我希望它 运行踏上装有特别许可软件的机器的特殊代理(池)。 (工作 2)。完成后,我希望构建的其余部分在原始代理(作业 3)上完成。
我已经能够使用 "Variable Tools for Azure DevOps Services" 在代理作业之间成功传递任意数量的变量,即使它们 运行 在不同的机器上运行。我把一个UNC路径从Job1传给Job2/Job3等没问题
但是,我看到的是,无论我做什么,代理作业总是 运行 并行,并且没有办法让它们串行地 运行,除非它们被锁定到同一台机器上的同一个代理,这违背了整个目的。
有谁知道实现这个的方法吗?现在在测试中,我必须使用 "Start-Sleep" 或类似的东西,并反复监视外部事件。一个非常不优雅的解决方法。
我找到了答案。作业属性包含一个名为 "dependencies" 的字段。您可以通过设置对上一个作业的依赖来使其串行化。
在 Azure Devops 中,对于代理作业,您将获得以下选项
您可以select根据您的要求选择任何选项。