kubernetes - 用于从 Azure DevOps 中删除多个离线代理的 API
问题描述
我们的 Azure DevOps 构建代理是在 Kubernetes 上设置的。失败的 pod 可以很容易地从 kube 中删除,但它们在 Azure DevOps Web UI 中显示为“离线”代理。
加班线下代理的名单真的很长。有没有办法以编程方式删除它们?
解决方案
$agents = Invoke-RestMethod -uri 'http://dev.azure.com/{organization}/_apis/distributedtask/pools/29/agents' -Method Get -UseDefaultCredentials
$agents.value |
Where-Object { $_.status -eq 'offline' } |
ForEach-Object {
Invoke-RestMethod -uri "http://dev.azure.com/{organization}/_apis/distributedtask/pools/29/agents/$($_.id)?api-version=4.1" -Method Delete -UseDefaultCredentials
}
此解决方案的一些假设:
- 您正在寻找构建代理
- 您已经知道要查找的池的 ID。您也可以通过编程方式进行此操作,或者如果您愿意,只需遍历所有池
- 删除任何离线代理没有任何问题
注意: 我使用的是 Azure DevOps Server,因此请-UseDefaultCredentials
用您的授权替换。
推荐阅读
- java - 反转列表中元素的顺序
- phpstorm - 无法在 PhpStorm 中按列名搜索
- python-3.x - 为选定的 Mainstep 解析和创建新数据集
- php - 如何修复 Image::make 上不支持的图像类型的错误
- java - 我有 curl 命令它在 cmd 中工作正常,但我想在 java 代码中运行它
- android - 每当用户关闭应用程序时,我是否想在我的应用程序上执行功能?
- tensorflow-data-validation - 错误:找不到满足要求 tensorflow-data-validation 的版本(来自版本:无)
- hyperledger-fabric - 使用根 CA 和中间 CA 生成的证书启动对等节点和排序节点时出错
- c# - 表单授权未按预期工作。它是如何工作的?
- python - python中的终端动态打印url