【问题标题】:"Job is pending" message in Azure DevOps pipelinesAzure DevOps 管道中的“作业待处理”消息
【发布时间】:2020-10-08 21:34:34
【问题描述】:

我们使用 TFVC 作为 VCS,我们的 repo 位于 Azure Repos,我们使用 Azure DevOps 进行 CI/CD。 Main 分支的管道构建更改并启用了“Gated check-in”选项。

我们使用部署在构建服务器上的托管代理。目前有 3 个构建环境和 1 个代理部署到每个构建环境。由于有许多开发人员在从事该项目 - 许多并发签入成为瓶颈,这就是为什么我们现在在一个代理池中拥有 3 个代理,管道有 1 个作业,并且它使用具有 3 个代理的代理池。

问题在于,当多个开发人员签入更改时,只有 1 个构建正在运行,队列中的所有其他人都必须等到它完成,尽管事实上其他 2 个代理在线并且在同一个池中处于空闲状态。 构建与消息“作业待处理”一起排队。有趣的是,如果我们从 azure devOps 运行管道,它们会同时运行,但是当开发人员从 Visual Studio 签入更改时,它们会排队。

【问题讨论】:

标签: azure azure-devops continuous-integration build-agent azure-devops-self-hosted-agent


【解决方案1】:

这是由于启用了“门控签入”选项。门控签入不会并行运行。

This answer 提供更多详细信息。

简而言之,门控签入采用分支中的最新变更集 + 签入的代码,然后构建代码。如果构建失败,则签入将失败。如果您想进行并行构建,则需要禁用门控签入并改用 CI 构建。

【讨论】:

    猜你喜欢
    • 2020-05-19
    • 2020-09-15
    • 2022-06-22
    • 2021-02-23
    • 1970-01-01
    • 2019-10-24
    • 2023-03-15
    • 2021-12-23
    • 1970-01-01
    相关资源
    最近更新 更多