有没有办法让 Azure devops(构建)管道等待 x 分钟以 collect/combine 多个批准的 PR?

Is there a way to have Azure devops (build) pipelines wait for x minutes to collect/combine multiple approved PRs?

在短时间(分钟)内批准多个 PR 的情况下,将为每个导致队列的 PR 启动构建管道。最重要的是,发布管道将为每个 PR 启动。

Azure devops 有没有办法更有效地做到这一点? 我正在考虑将管道的执行推迟 x 分钟,但可能还有其他解决方案。 谁能帮帮我?

Is there a way for Azure devops to do this more efficient?

根据您的描述,这些构建可能是 CI 由已批准的 PR 触发的构建,对吧? (当 PR 完成后,提交将推送到目标分支并触发构建)

如果是,您可以尝试使用触发器中的 Batch changes while a build is in progress 选项。

经典编辑器:

Yaml 编辑器

trigger:
  batch: true
  branches:
    include:
    - features/*
    exclude:
    - features/experimental/*

这是一篇关于 Batching CI runs 的文档。

此选项可以在管道 运行 时合并所有提交。

要等待 x 分钟来收集 PRS,您可以在您的管道中添加一个 Powershell 任务。

例如:

steps:
- powershell: 'Start-Sleep -s 300'
  displayName: 'PowerShell Script'

命令 Start-Sleep -s 300 可能会让管道等待 x 分钟。它可以在 x 分钟内收集 PR。

在我的案例中显示的编辑表单略有不同。
导航到管道>...>编辑>...>触发器