我的 Azure DevOps 项目中的代理池作业遇到问题。
我有 Azure Pipelines 代理池(非自托管),它说它正在运行 2 个作业,并且队列中还有 70 个作业。
当我单击 Azure Pipelines 代理池时,它会显示所有作业。所有作业都显示有白色圆圈图标,这意味着实际上没有任何作业正在运行。
我尝试取消并删除所有这些作业,现在,当我单击其中任何作业时,它会显示以下消息:
我尝试过升级管道管理安全选项中的用户权限、禁用天蓝色管道代理池的代理、删除天蓝色代理池并重新添加它......但都不适合我。它不会改变任何东西。
我还看到有人说这可能是 Azure DevOps 的管道延迟错误,其中一些人在几个小时/几天后自行解决了这个错误,但我需要紧急解决它。
如有任何建议,我们将不胜感激
我还看到有人说这可能是 Azure DevOps 的管道延迟错误,其中一些人在几个小时/几天后自行解决了这个错误,但我需要紧急解决它。
是的,几小时/几天后可以恢复。但如果现在仍然存在,请尝试以下选项:
购买另一个并行作业,运行后(管道可以授予代理),删除购买的作业(链接这里)。
如果不起作用,请使用rest api Agents - List 授予池状态:
https://dev.azure.com/{organization}/_apis/distributedtask/pools/{poolId}/agents?api-version=6.0
检查响应中的
provisioningState
是否为Deallocated
。如果是 not
,请通过下面的 PowerShell 脚本更新该值(将池 id 和代理 id 更改为您的):
Param(
[string]$organization = "yourorgname",
[string]$token = "PAT"
)
$base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("{0}:{1}" -f $user,$token)))
$url="https://dev.azure.com/$organization/_apis/distributedtask/pools/9/agents/8?api-version=5.1"
$body = @"
{
"Id": 8,
"ProvisioningState": "Deallocated"
}
"@
Invoke-RestMethod -Uri $url -Headers @{Authorization=("Basic {0}" -f $base64AuthInfo)} -Body $body -ContentType "application/json" -Method PATCH
如果问题仍然存在,也可能是由于
Agent Pool Service (9)
身份已从您的 [organization]/Security Service Group
中删除所致。请注意,此处的身份号码 (9) 可能与您的组织不同。请检查链接了解详情。
如果您需要紧急解决,第一个选择是通过 Azure 门户提出支持请求。您需要拥有与您的订阅关联的 Azure 支持计划?单击此处创建支持请求。请在支持请求描述中分享构建管道 URL 和问题详细信息。