我已经创建了一个包含五个代理作业的发布管道,我想同时启动这五个作业。例如: 在这个例子中,我需要同时启动所有代理作业,并且在同一时间执行独特的任务(等待10秒钟)。VSTS(Azure DevOps)有没有这样的选项?
你也可以只使用5个不同的阶段(取决于你正在做什么)。然后,你可以充分利用管道模型的全部功能,具有前置和后置阶段,无论你希望什么。这在其他答案中也提到了使用不同的代理作业,但这更加直接。此外,你还可以轻松克隆阶段。我不确定你试图通过等待10秒钟来实现什么,但是这很容易通过PowerShell步骤完成。选择单选按钮“内联”并键入以下内容:Start-Sleep -Seconds 10 这是一个可能同时完成你想要的工作的管道示例,但请记住,每个代理作业(无论是在一个阶段中多个作业还是在多个单个作业阶段中)都必须找到一个能够、可用和空闲的代理,否则作业将在等待队列中等待!
我认为您需要创建5个阶段,因为在Azure DevOps的发布流水线中,一个阶段中的作业不能并行。请参阅Microsoft文档 或者,如果您想在多个代理上运行同一组任务集,则可以使用下面显示的多代理选项。 ADO多代理选项
如果您想要并行执行作业,则选择多代理配置,但如果您有5个(非常)不同的作业,则可以从下拉菜单“运行此作业”中选择“即使先前的作业失败”。默认情况下,这被设置为“仅当所有先前的作业都成功时”,这意味着:1. 您的5个作业将按照您设置它们的顺序依次执行。 2. 只要其中一个作业失败,作业链就会停止。请注意,您可以单独指定每个代理队列上将执行哪个作业,默认情况下它们都将进入同一个队列。如果您在单个队列上并行运行5个作业,则该队列应该有5个可用且空闲的代理以获得您期望的结果。