如何在 Azure DevOps 中使用旧名称创建代理池?

How to recreate an Agent Pool with the old name in AzureDevOps?

我在 AzureDevOps 中创建新代理池时遇到问题。

我想做的是删除旧的自托管主机并部署新的。但是,旧主机使用和新主机使用的 Agent-Pool 是由同事创建的。这让我无法删除现有的注册代理,导致在部署新主机期间发生冲突。为了解决这个问题,我能够删除代理池。

现在,当我想创建一个同名的新池时,我收到错误消息

"No agent pool found with identifier 76".

有没有人看到过这条错误消息或者知道我能做些什么?

预期: 已创建与旧池同名的新代理池。

实际: 我收到错误消息 "No agent pool found with identifier 76"。

Agent creation Image

Error Message Image

显然,如果您通过 Project-settings 菜单删除 Agent-Pool,它们在 Organization-Settings 菜单下仍然可用。

如果这个池属于其他人,您似乎甚至失去了对这个组的 reader 角色。换句话说,它看起来像是该组已被删除,但实际上并没有。

很遗憾,错误消息并没有准确地告诉您这些。

我们的解决方案是 Organization-Admins 让我们再次成为该组的管理员。接下来我能够在 Organization-Settings 下清理它并再次使用它。

与 A.S 讨论一些细节。并在我这边测试,我现在已经想通了。

此错误的根本原因是您的帐户不是 管理员 角色。您可以从 doc 查看此消息。

如果您是 PCA 中的一员,即使您是此代理池的 Reader 或不是任何角色,您仍然可以添加代理池。我发现的另一个解决方案是,您需要添加为该代理池的管理员,而不是作为 PCA 中的一员。必须满足以上两种方案之一,才可以添加,不会报错。

此外,对于页面和 F12 控制台中显示的错误消息。

正如您从我提到的图片中看到的那样,这导致了页面中显示的错误消息。我知道,控制台的错误信息很容易被误解。它让你困惑为什么它响应 404 未找到。

这仍然与 管理员 角色相关。

https://dev.azure.com/{org name}/3307xxxxxxx5676e/_apis/distributedtask/queues?authorizePipelines=true

控制台中显示的这个api用于在Org设置下搜索代理池。

虽然您不是org/agent池管理员,但找不到您要操作的代理池,因为您无权在 Org 设置下搜索它。然后,它显示“抱歉,未找到 404”,即使它存在于 org 设置下。这不是错误,只是为了逻辑。

所以,同意你的看法,错误信息不太清楚,无法理解根本原因。

另外,如果你只是删除项目设置下的代理池,它仍然存在于组织设置下。只需要管理员角色,你可以重新添加回来没有任何错误。