当另一个构建已经 运行 时,Azure DevOps 构建管道失败
Azure DevOps build pipelines fail when another build is already running
在使用 Azure DevOps 时,我注意到有时我的拉取请求构建会失败。经过一番追踪后,我注意到只有在另一个构建已经 运行.
时才会发生这种情况
似乎原因是构建输出中的文件(exe、dll、note_modules 等)将被锁定,因此当另一个构建开始时,新构建将失败,直到目前运行一个完成了,然后我将不得不再次手动重新排队构建。
我不太熟悉 Azure DevOps 管道,因为我们最近迁移到了这个平台,也不确定解决这个问题的最佳方法。正在构建的 sln 包括 .NET Framework、.NET Core、TypeScript 和 Node.js(如果有帮助的话)。
我很想 post 日志和当前配置,但由于公司政策,我不允许...:(
Azure DevOps build pipelines fail when another build is already running
您可以尝试 use/add Capability,例如 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:
在这种情况下,当此特定代理中的管道 运行 时,另一个新构建将处于挂起状态,直到当前构建完成。
在使用 Azure DevOps 时,我注意到有时我的拉取请求构建会失败。经过一番追踪后,我注意到只有在另一个构建已经 运行.
时才会发生这种情况似乎原因是构建输出中的文件(exe、dll、note_modules 等)将被锁定,因此当另一个构建开始时,新构建将失败,直到目前运行一个完成了,然后我将不得不再次手动重新排队构建。
我不太熟悉 Azure DevOps 管道,因为我们最近迁移到了这个平台,也不确定解决这个问题的最佳方法。正在构建的 sln 包括 .NET Framework、.NET Core、TypeScript 和 Node.js(如果有帮助的话)。
我很想 post 日志和当前配置,但由于公司政策,我不允许...:(
Azure DevOps build pipelines fail when another build is already running
您可以尝试 use/add Capability,例如 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:
在这种情况下,当此特定代理中的管道 运行 时,另一个新构建将处于挂起状态,直到当前构建完成。