5

谁能解释 Azure YAML Schema Trigger 中的 Batch 做什么?

MSFT网站上唯一的解释是

batch changes if true; start a new build for every push if false (default)

这对我来说不是很清楚

4

2 回答 2

10

批量更改或批量触发实际上意味着批处理您的 CI 运行

如果您有许多团队成员经常上传更改,您可能希望减少开始的运行次数。如果您设置batchtrue,则当管道运行时,系统会等待运行完成,然后开始另一个运行,其中包含尚未构建的所有更改。

为了澄清这个例子,让我们说A对 master 的推送导致上述管道运行。当该管道运行时,额外的推送B发生C在存储库中。这些更新不会立即开始新的独立运行。但是在第一次运行完成后,直到该时间点的所有推送都被批处理在一起,并开始新的运行。

于 2021-05-02T19:35:31.000 回答
1

我对 MS 文档的解释是,批处理布尔值旨在解决遇到频繁推送到同一触发器分支或一组分支(可能还有标签)的问题,并且如果构建管道已经在运行,则任何其他更改都推送到列出的分支将一起批处理并在当前运行之后排队。这确实意味着这些后续推送将成为同一后续管道运行的一部分,这有点奇怪,但考虑到微软打算让它工作的方式应该没问题。

基本上,对于具有高要求流水线运行和发生多次重叠推送的高潜力的存储库,批处理非常有用。

作为参考,这里是文档链接:https ://docs.microsoft.com/en-us/azure/devops/pipelines/repos/azure-repos-git?view=azure-devops&tabs=yaml#batching-ci-runs

于 2021-10-20T17:04:21.003 回答