5

我正在使用安装在本地计算机上的构建代理在 Visual Studio Team Services 中设置构建定义以进行测试。

我正在按照这些说明创建构建代理、设置构建定义和对构建进行排队。我在本地计算机上创建了代理,它出现在 VSTS 的代理池中。代理已启用并准备就绪。我还创建了一个调用我的构建脚本的构建定义。到目前为止,一切似乎都运行良好。

此时,我已准备好将构建排队并运行它。此对话框如下所示:

在此处输入图像描述

标记为“队列”的下拉菜单仅显示Hosted代理池。应该有第二个池被调用Default,但它没有出现。我可以通过右键单击并检查 HTML,然后使用开发工具更改选项的值来使其“出现” HostedHosted的 ID 是2,我将其更改为,1因为我认为这是Default. 完成此操作后,我可以单击“确定”并且构建按预期运行——构建代理在我的本地计算机上签出所有内容。大概我对 ID 值的假设是正确的。

所以......一旦我把管道弄乱了,一切都会正常工作。但这绝对不是事情应该运作的方式。为什么Default队列没有出现在下拉列表中?我是否需要在某个地方拨动开关才能使其工作?我的帐户没有足够的访问权限吗?

其他一些细节:

  1. 我的帐户是“矿池管理员”
  2. 构建代理作为 Windows 服务安装。我从命令提示符手动启动它。我无法将其安装为服务。
  3. 安装了构建代理的机器正在运行 Windows 10 x64 Pro。它是从 Windows 8 x64 Pro 升级而来的。
  4. 我无法使用托管代理,因为我正在构建 Unity 项目,并且托管代理不支持 Unity。
  5. 我知道我可以使用 Unity Cloud Build,但我不想。

更新

我删除了以前的 Build Agent 并在运行 Windows 10 Enterprise x64 的 Windows Azure VM 上安装了一个新的作为服务。通过此更改,“托管”和“默认”队列将按预期显示。

4

2 回答 2

4

您的帐户还需要有权访问代理队列。代理池和代理队列是不同的实体,作为“池管理”并不一定意味着您是“队列管理员”。

于 2016-01-01T01:49:52.020 回答
0

就我而言,它有助于在具有提升/管理员权限的控制台中执行代理配置。如果代理配置是在具有正常权限的控制台中完成的,代理仍然可以正确配置,但是当您将新构建排队时,它的队列不会出现以供选择。

于 2018-05-10T12:02:02.470 回答