升级 TFS 2015 Build Agent

7
我想在我的TFS 2015上上传一些可在此处找到的构建任务:https://github.com/Microsoft/vso-agent-tasks。 我遇到了某些任务的问题,因为它们需要最低代理版本为1.89.0。但是,我的构建代理是1.83.2版本。 现在的问题是,我该如何为给定的池更新代理?如果我右键单击TFS上的代理池并选择更新所有代理选项,则不会发生任何事情。我认为这是因为在TFS上可用的我的代理的最新版本是1.83.2。 我在哪里可以找到最新版本并如何更新它?
请注意,我正在使用本地TFS 2015而非VSO。
谢谢!

马里奥,你在哪里找到测试代理版本的?我想不出来。 - Denis Molodtsov
2
您可以在 TFS 门户的代理功能列表中找到它,其位于 Agent.Version 值下,或者您可以从 cmd 在构建代理机器上执行 'VsoAgent.exe /version'。 - Mario Majcica
2个回答

14
如果您右键单击代理池并选择“更新所有代理”,它将把代理升级到本地TFS服务器的版本。例如,如果您最初安装了一些RC,并稍后将服务器升级为RTM,则某些代理可能具有较低的版本。否则,如您所提到的,因为所有代理都是最新的,所以不会发生任何事情。
VSO有一个不同的发布模型,并且其代理程序的更新/修复是持续交付的。这就是为什么版本不断增长的原因。
从技术上讲,可能可以获取最新VSO代理任务的源代码,并将其推送到TFS 2015的本地版本中。但是,它被认为是一种反模式,并且该行为未记录和不受支持。
让我引用来自此讨论(请参见线程底部)的构建vNext开发人员的话:
“这不是受支持的选项。 VSO中的代理很可能无法与本地服务器配合使用。您必须使用随服务器一起提供的代理版本。”
还有:
“该行为是未定义/未经测试的。它可能有效,也可能无效。设计是使代理程序通过从服务下载的自动更新过程向前推进。自动更新过程可能会更改磁盘上的配置/布局,等等。未来的代理可能会调用不存在的REST API等...代理的主要重点是向前兼容,以便它们可以通过任务最低代理需求(在重新启动或最终计划的作业中)进行惰性升级。”

1
嗨Yan,抱歉回复晚了。我看到新任务作为构建代理的新版本与Update 1一起发布。不幸的是,在RC1中存在一个错误(在RC2中已解决),代理未能正确更新。 似乎升级只能通过TFS升级进行,我们无法影响。构建任务也是如此。 感谢您的时间。 - Mario Majcica
@Yan Sklyarenko 是否可以将 TFS 2015 构建代理升级到 2017,而无需先升级 TFS? - JesseNewman19

0

和 @Yan 的答案一样,但我把它放在这里是因为下面的错误突然出现了 - 所以我认为微软本周更新了最低要求。

No agent found in pool Default which satisfies the specified demands:

 msbuild
 visualstudio
 Agent.Version -gtVersion 1.95.0

对于您自己托管的代理,只需右键单击队列或单击...图标即可。

enter image description here

几分钟后,我不得不重新启动代理服务,因为它似乎无法自行完成。在执行此操作之前,请给它足够的时间来正确更新。


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