当另一个构建已经在运行时,Azure DevOps 构建管道失败

时间:2021-01-04 04:57:22

标签: azure-devops azure-devops-pipelines

在使用 Azure DevOps 时,我注意到我的拉取请求构建偶尔会失败。经过一番追踪后,我注意到只有在另一个构建已经在运行时才会发生这种情况。

似乎原因是构建输出中的文件(exe、dll、note_modules 等)将被锁定,因此当另一个构建开始时,新构建将失败,直到当前运行的构建完成,那么我将不得不再次手动重新排队构建。

我对 Azure DevOps 管道不是很熟悉,因为我们最近迁移到了这个平台,也不确定解决这个问题的最佳方法。正在构建的 sln 包括 .NET Framework、.NET Core、TypeScript 和 Node.js(如果有帮助的话)。

我很想发布日志和当前配置,但由于公司政策,我不允许... :(

1 个答案:

答案 0 :(得分:1)

<块引用>

当另一个构建已经在运行时,Azure DevOps 构建管道失败

您可以尝试使用/添加能力,例如 Agent.Name 到这两个特定的构建代理,然后在构建定义中将该能力作为需求.

如此处所述:

How to send TFS build to a specific agent or server

代理的能力:

Project Settings->Agent pools->Your agent pool-> Agents->Agent->Capabilities

构建管道的需求:

Options-> Demands:

enter image description here

在这种情况下,当管道在此特定代理中运行时,另一个新构建将处于挂起状态,直到当前构建完成。