Azure Devops-如何防止多个管道同时运行?

时间:2019-10-28 11:57:09

标签: azure azure-devops continuous-integration azure-pipelines pipeline

我有两个具有3个启用代理的不同管道。我的问题是我的管道之一如果同时运行多个构建失败(因为tet发生冲突),所以我想将一个构建请求排队,如果有另一个针对此特定的运行管道。

我尝试过的第一件事是使用功能和要求来标识一个代理,因此该管道始终只有一个代理可用,但是它不适用于 Microsoft托管的代理,并且那就是我所拥有的。 然后,我想也许可以在管道配置中指定创建2个代理池以使用其中之一,但是又一次我不能为 Microsoft托管的代理

创建多个池

如何防止多个构建同时运行?

谢谢!

2 个答案:

答案 0 :(得分:0)

您只需启用“在构建过程中进行批量更改”选项即可一次执行一个管道。

这里有一个类似的问题:"Build after the previous execution has succeeded" in Azure Devops

答案 1 :(得分:0)

最后,我解决了从Build到Build + Release的问题。

@Fairoz的解决方案对我不起作用,因为仍然允许同时运行不同分支的多版本构建。我需要的是锁定管道,直到没有构建正在运行。 在Azure Devops上执行此操作的方法具有功能+需求,但不适用于Microsoft托管的代理,因此我所做的不是将我所有的测试逻辑迁移到发布到CI的版本离开只是制造神器的建筑。

所以工作流程是: PR至Github>触发构建>通过我的分支生成工件>触发发布>向CI发布代码并运行测试

Azure Devops可以控制一个Stage可以存在多少个并行执行,所以我将并行任务的数量限制为1,就是这样