我正在使用安装在本地计算机上的构建代理在 Visual Studio Team Services 中设置构建定义以进行测试。
我正在按照这些说明创建构建代理、设置构建定义和对构建进行排队。我在本地计算机上创建了代理,它出现在 VSTS 的代理池中。代理已启用并准备就绪。我还创建了一个调用我的构建脚本的构建定义。到目前为止,一切似乎都运行良好。
此时,我已准备好将构建排队并运行它。此对话框如下所示:
标记为“队列”的下拉菜单仅显示Hosted
代理池。应该有第二个池被调用Default
,但它没有出现。我可以通过右键单击并检查 HTML,然后使用开发工具更改选项的值来使其“出现” Hosted
。Hosted
的 ID 是2
,我将其更改为,1
因为我认为这是Default
. 完成此操作后,我可以单击“确定”并且构建按预期运行——构建代理在我的本地计算机上签出所有内容。大概我对 ID 值的假设是正确的。
所以......一旦我把管道弄乱了,一切都会正常工作。但这绝对不是事情应该运作的方式。为什么Default
队列没有出现在下拉列表中?我是否需要在某个地方拨动开关才能使其工作?我的帐户没有足够的访问权限吗?
其他一些细节:
- 我的帐户是“矿池管理员”
- 构建代理未作为 Windows 服务安装。我从命令提示符手动启动它。我无法将其安装为服务。
- 安装了构建代理的机器正在运行 Windows 10 x64 Pro。它是从 Windows 8 x64 Pro 升级而来的。
- 我无法使用托管代理,因为我正在构建 Unity 项目,并且托管代理不支持 Unity。
- 我知道我可以使用 Unity Cloud Build,但我不想。
更新
我删除了以前的 Build Agent 并在运行 Windows 10 Enterprise x64 的 Windows Azure VM 上安装了一个新的作为服务。通过此更改,“托管”和“默认”队列将按预期显示。