首页 > 解决方案 > 如果没有可用的代理,如何不对新构建进行排队

问题描述

我想知道如果没有在线代理运行它,TFS 中是否有办法禁止新构建排队。

我问这个是因为我们有一个每 15 分钟启动一次的构建工作。有时,我们的测试代理会断开连接且不可用。这会导致一堆构建作业堆积在队列中。

如果所有代理都脱机,有没有办法告诉自动 TFS 构建定义不启动?我知道我们可以限制一个人在它停止之前可以运行的时间,但这只在它开始后才有效。如果它因为没有可用的代理而无法启动,那么这个守卫将不起作用并且队列被备份。

标签: tfsazure-devopsazure-pipelines

解决方案


抱歉,没有办法做到这一点。当作业添加到队列中时,构建代理会下载一个侦听器 OAuth 令牌并使用它来侦听作业队列。

代理会定期检查是否已在 Azure Pipelines/TFS 的作业队列中为其发布了新的作业请求。当作业可用时,代理会下载作业以及特定于作业的 OAuth 令牌。此令牌由 Azure Pipelines/TFS 为管道中指定的范围标识生成。该令牌是短暂的,代理使用该令牌在该作业中访问 Azure Pipelines 或 TFS 上的资源(例如,源代码)或修改资源(例如,上传测试结果)。

更多详细信息请查看与 Azure Pipelines 的代理通信


推荐阅读