构建管道的不同运行之间的 Azure DevOps 依赖关系

问题描述 投票:0回答:1

我有一个要求,如果管道的先前运行仍然是“进行中”,我希望构建管道运行等待。

例如,在下图中,运行已经在进行中,现在新的运行应该等待或依赖于该运行完成(失败、取消或成功)。

enter image description here

我探索了以下选项:

  1. “独占锁”作为环境检查。 (不太灵活)
  2. 调用rest api作为环境检查。 (在 Azure 文档中找不到太多关于如何使用结果来处理检查的信息)
  3. 或者在 yaml 管道中有一个用于检查先前运行状态的阶段可能作为 bash 或 python 步骤处于循环中。 (这似乎是一种可以定制的灵活方法。)

任何有关解决此要求的正确方法的指示都会真正有帮助。

azure-devops
1个回答
0
投票

在管道的 YAML 文件中,指定一个名为

lockBehavior
的属性。这可以为整个管道或给定阶段指定。

示例:

trigger: none

pool:
  vmImage: 'ubuntu-latest'

lockBehavior: sequential

stages:
- stage: A
  jobs:
  - job: Job
    steps:
    - script: sleep 20
      displayName: 'Sleep for 20 seconds'

运行 2 会一个接一个地构建,这会显示在第二个构建中:

Pipeline job peding

单击

View
按钮:

View lock

© www.soinside.com 2019 - 2024. All rights reserved.