如何使用两个不同的代理池运行计划的Azure DevOps管道

How to run scheduled Azure DevOps pipeline with two different agents pools

提问人:lior.i 提问时间:4/5/2022 最后编辑:lior.i 更新时间:4/5/2022 访问量:2495

问:

我有,我想用两个不同的,一个和一个运行它。Azure DevOpspipelineagent pooldevprod

这是默认的:pipelinedevagent pool

dev

在计划设置中,没有设置为与运行不同的选项:agent pool

schedule

我看到了这个答案(带有设置的解决方案),但我没有找到在我的(我在设置中定义的管道)中使用它的方法。yamlpipelineAzure DevOpsUI

azure-devops azure-pipelines

评论

0赞 joelforsyth 4/5/2022
不能在同一阶段为不同的代理运行管道作业。您可以在同一阶段执行不同的代理作业,但不能执行相同的作业。您需要创建一个单独的阶段。
0赞 GeralexGR 4/5/2022
可以使用新计划和不同的代理池创建管道的副本
0赞 lior.i 4/5/2022
坦克@GeralexGR,这是我目前的简单解决方案,我不喜欢它,因为它迫使我维护两条管道而不是一条管道。

答:

0赞 joelforsyth 4/5/2022 #1

创建一个新的 .第一阶段的作业将使用一个池,第二阶段将使用不同的池。然后,可以独立安排或触发它们。您还可以克隆第一阶段,以节省复制任务的时间。Stage

参考

评论

0赞 lior.i 4/5/2022
感谢@joe,但看起来您的解决方案与发布管道相关。
0赞 GeralexGR 4/5/2022
@lior.i 中,还可以在生成管道上设置阶段。问题是你不能为这些阶段制定不同的时间表,你应该有相同的时间表。
0赞 lior.i 4/5/2022
@GeralexGR,我对他们在同一时间没有问题。我没有看到将阶段添加到我的构建管道的方法,只是在发布管道中。
0赞 GeralexGR 4/5/2022
@lior.i 你有用于构建或 YAML 的 GUI 管道吗?learn.microsoft.com/en-us/azure/devops/pipelines/process/......
0赞 lior.i 4/5/2022
@GeralexGR,我正在使用 UI 管道,您附加的链接说明了发布管道:You can organize the deployment jobs in your release pipeline into stages.
1赞 GeralexGR 4/5/2022 #2

使用 GUI 经典管道时,可以定义两个不同的作业,这些作业将在不同的代理池上运行。这样,你就可以有一个管道,你将根据你的计划运行它。

enter image description here

使用 YAML 语法时,您可以定义不同的阶段来实现相同的结果。

https://learn.microsoft.com/en-us/azure/devops/pipelines/process/stages?view=azure-devops&tabs=yaml