VSTS/TFS 正在等待启用的代理使用自定义任务条件时禁用所有可能的代理

问题描述

TFS: 2017.3
Agent version: 2.112.0

我有一个非常简单的构建,只有一个 Powershell 脚本任务。任务所做的只是一个 Write-Host,它工作正常。

我正在根据以下条件测试此任务的有条件执行:

and(succeeded(),eq(variables['MyVariable'],'SomeValue'))

一旦我保存此配置并将构建排入队列,它就永远不会启动并说:

Waiting for an enabled agent. All possible agents are @R_404_6422@abled.

配置截图:

Custom condition config

条件任务是我们升级后的新功能。有什么我们需要启用的吗?

谢谢

解决方法

升级服务器 you want to schedule an agent update for your agents 后,您的构建代理版本来自 TFS 2017.1。

enter image description here

我不是 100% 确定这会起作用,但您的代理版本是前提条件支持的。

,

这个问题应该是agent版本的问题,需要下载最新的build agent并配置好,然后用这个agent排队build。

测试环境:

TFS 版本:2017.3

代理版本:2.122.1

构建定义:

enter image description here

结果:

enter image description here

,

我怀疑您的免费构建时间用完了,并且正在使用托管代理。默认情况下,您在 Azure DevOps 中的免费层获得 1800。

我建议检查您的“并行作业”设置,看看您是否还有剩余时间。

您可以在项目设置中的管道下方找到您的并行作业设置: Azure DevOps Parallel Jobs Settings

,

我可能会离开这里,但您的帖子说这是一个具有单个 Powershell 任务的构建 - succeeded() 依赖于上一步的成功,对于您的示例,没有什么可以成功的。

在您的场景中,我可能会尝试在其之前放置另一个具有不同写入主机的 Powershell 任务,并且不设置任何条件,然后查看 1) 构建是否找到代理并运行,以及 2) 您的第二个,条件任务成功运行。