【发布时间】:2019-04-09 16:29:59
【问题描述】:
我在 VSTS(也称为 Azure DevOps,现在众所周知)上有一个构建管道,它在具有 2 个构建代理(代理 A 和 B)的代理池上运行,并设置了持续集成。我想禁用在不同代理上同时执行此构建管道,即如果代理 A 上正在运行构建,我不希望构建在代理 B 上开始运行,直到代理 A 上的构建完成。
我可以通过更改要求来取消除一个构建代理之外的所有构建代理运行构建的资格(例如,只有代理 A 满足需求)来做到这一点。但是,这是不可取的,因为构建代理与其他项目共享,有时选择的代理会很忙,所以我不想将构建代理限制在任何特定的机器上。
在 VSTS 中是否有一种简单的方法可以做到这一点?
【问题讨论】:
-
为什么不想要并发构建?
-
因为管道需要更新一个构建变量(通过 VSTS api),该变量在整个管道中使用。我可能可以通过其他方式解决它,但如果我可以在一个设置中禁用并发构建,那将是最简单的
-
你解决了吗?
-
@IanYates 不,不是。我最终为这项工作配置了一个专用的构建代理
-
可能的解决方案:stackoverflow.com/a/49055425
标签: azure-devops azure-pipelines