Rum*_*rre 7 continuous-integration pipeline azure azure-devops azure-pipelines
我有两个不同的管道,有 3 个启用的代理。我的问题是,如果同时运行多个构建,则其中一个管道会失败(因为 tets 遇到冲突),因此如果有另一个管道正在为此特定管道运行,我想将构建请求排队。
我尝试的第一件事是使用功能和要求来识别一个代理,因此始终只有一个代理可用于该管道,但它不适用于Microsoft 托管的代理,而这就是我所拥有的。然后我想也许可以创建 2 个代理池,我可以在管道配置中指定使用其中之一,但我又无法为Microsoft 托管的代理创建多个池
如何防止多个构建同时运行?
谢谢!
最后我解决了从构建到构建+发布的问题。
@Fairoz 的解决方案对我不起作用,因为它仍然允许不同分支的多个构建同时运行。我需要的是锁定管道,直到没有构建运行。在 Azure DevOps 上执行此操作的方法是使用“功能 + 需求”,但不适用于 Microsoft 托管的代理,因此我所做的是将所有测试逻辑移至部署到 CI 的版本,并保留仅生成人工制品。
所以工作流程是: PR 到 GitHub > 触发构建 > 使用我的分支生成工件 > 触发发布 > 将代码发布到 CI 并运行测试
Azure DevOps 可以控制一个 Stage 可以存在多少个并行执行,所以我将并行任务的数量限制为 1,仅此而已
| 归档时间: |
|
| 查看次数: |
8338 次 |
| 最近记录: |