【问题标题】:Azure DevOps Server 2019 (on-premises): Can agent jobs be run serially?Azure DevOps Server 2019(本地):代理作业可以连续运行吗?
【发布时间】:2020-01-02 21:37:47
【问题描述】:

我有一个场景,我希望构建开始在一个代理(作业 1)上运行,然后在完成一些工作后,我希望它在一个特殊代理(池)上运行一个步骤特别许可的软件。 (工作 2)。完成后,我希望在原始代理(作业 3)上完成其余的构建。

我已经能够使用“用于 Azure DevOps 服务的变量工具”在代理作业之间成功传递任意数量的变量,即使它们在不同的机器上运行也是如此。将 UNC 路径从 Job1 传递到 Job2 / Job3 等对我来说没有问题。

但是,我看到的是,无论我做什么,代理作业总是并行运行,没有办法让它们串行运行,除非它们被锁定到同一台机器上的同一个代理,这违背了整个目的。

有没有人知道实现这一点的方法?现在在测试中,我必须使用“Start-Sleep”或类似的东西,并反复监控外部事件。一个非常不优雅的解决方法。

【问题讨论】:

    标签: parallel-processing azure-devops build-agent


    【解决方案1】:

    我找到了答案。作业属性包含一个称为“依赖项”的字段。您可以通过设置对上一个作业的依赖来使其串行化。

    【讨论】:

      【解决方案2】:

      在代理作业的 Azure Devops 中,您将获得以下选项

      您可以根据自己的要求选择任何选项。

      【讨论】:

      • 很好的信息。实际上,尽管该选项是默认选项,而且我一直有该选项,并且在没有检查依赖项的情况下相信与否(见下文),但作业仍然并行运行。
      • 您是否使用多代理选项?
      • 我尝试了几乎所有的组合。一般没有。我考虑并尝试使用 Multi-Agent = 1, Multi-Agent = 0(不允许的选项)。多代理的事情没有效果,可能是因为我在工作 2 中需要一个单独的代理。
      猜你喜欢
      • 2020-08-22
      • 2021-05-13
      • 1970-01-01
      • 2020-07-04
      • 2022-07-07
      • 2019-06-10
      • 2021-06-28
      • 2021-04-05
      • 1970-01-01
      相关资源
      最近更新 更多