TFS构建/发布代理程序的“更新所有代理程序”未更新TFS on-prem 2017的代理程序

7

当我尝试更新代理池中的所有代理时,对于本地安装的TFS 2017,更新没有发生。我看到的是旧版本的代理。

构建服务器通常没有互联网连接。

互联网连接是否是更新本地构建代理的先决条件?

我不得不在有互联网的机器上下载新代理,然后将文件复制到构建机器的新文件夹中,并从这个新文件夹重新配置代理。完成后,我有了2个代理服务:一个指向旧文件夹,另一个指向新文件夹。指向旧文件夹的服务已启动,而指向新文件夹的新服务处于停止状态。停止旧服务并启动新服务。

对于更新本地安装的TFS代理版本,该过程是否不同?

2个回答

6
即使您有互联网连接,更新可能也无法正常工作。
根据Daniel Steiner的说法,有两种代理:
  • Windows 特定代理(版本 1.x)
  • 跨平台代理(版本 2.x)
在 TFS 2017 中,Windows 特定代理(版本 1.x)已被弃用。因此,它们将不会从代理队列管理区域进行更新。所以您需要从 tfs(或github)下载代理并自己安装。在初始安装/配置后,代理通过 tfs 的更新应该可以再次正常工作。如果他们自动化了这个过程或至少在 tfs 中说明了该怎么做,那就太棒了。
很遗憾,官方文档 没有阐明整个问题。

1
谢谢您的添加。我一直在关注这个问题,直到看到“我需要互联网吗?”这部分,然后我才感到困惑... 直到看到了您的答案。 - Brain2000

3

在更新本地版构建代理时需要网络连接。

每个代理在运行需要更新到新版本代理的任务时会自动更新。但是,如果您想手动更新一些代理,请右键单击池,然后单击“更新所有代理”。

所选池内的所有构建代理将暂时脱机,然后在更新后立即重新上线。

您所做的是手动添加了一个新版本代理,而不是更新代理。您的构建服务器中只有两个代理,因此您有两个代理服务。

有关在本地版 TFS 服务器中更新代理的更多详细信息,请参考以下教程:


那么,在TFS中没有一种自动更新本地构建代理程序的方法,使其升级到比TFS提供的更高版本吗? - Baskar Lingam Ramachandran
@BaskarLingamRamachandran 没有互联网连接,是的。在我的测试中得到了与您相同的结果。有了互联网连接,您可以更新代理版本,有时代理版本会自动更新,如果您的构建任务需要的话。 - PatrickLu-MSFT
是否有一种方法可以在TFS中更新代理版本,以便代理可以从TFS中选择最新版本?需要升级整个TFS才能使代理程序保持最新吗? - Baskar Lingam Ramachandran
@BaskarLingamRamachandran “整个TFS都需要升级才能使代理程序保持最新吗?” 不需要。您可以直接更新构建代理程序版本,正常的解决方案是右键单击要更新的代理池。从上下文菜单中选择“更新所有代理程序”。 您可以参考此讨论:https://github.com/Microsoft/tfs-cli/issues/43。恐怕您需要连接到互联网以进行强制更新,或者从其他计算机复制新代理并安装一个新代理。或者直接从GitHub(https://github.com/Microsoft/vsts-agent/releases)下载代理程序。 - PatrickLu-MSFT
是的,我已经下载了最新版本,一切正常。所以对于一个内部网络构建代理,“更新所有代理”将不起作用。我会标记你的答案。 - Baskar Lingam Ramachandran

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接