升级 TFS 2015 构建代理

Upgrading TFS 2015 Build Agent

我想在我的 TFS 2015 上上传一些可用的构建任务 https://github.com/Microsoft/vso-agent-tasks。 我在执行某些任务时确实遇到了问题,因为它们确实需要 1.89.0 的最低代理版本。我的构建代理是 1.83.2 版本。 现在的问题是,如何为给定池更新我的代理?如果我在我的 TFS 上右键单击代理池并选择更新所有代理选项,则什么也不会发生。我想是因为我的代理在 TFS 上的最新版本是 1.83.2。 我在哪里可以找到它的最新版本以及如何更新它?

注意我在 TFS 2015 而不是 VSO 上工作。

谢谢

如果您右键单击代理池并选择 "Update all agents",它会将代理升级到本地 TFS 服务器的版本。例如,如果您最初安装了一些 RC,然后将服务器升级到 RTM,则某些代理可能具有较低的版本。否则,正如您提到的,不会发生任何事情,因为所有代理都是最新的。

VSO 有不同的发布模型,updates/fixes 会持续向其代理交付。这就是版本不断增长的原因。

从技术上讲,可以获取最新 VSO 代理任务的源代码,并将其推送到 TFS 2015 的本地版本。但是,它被认为是一种反模式,并且该行为没有记录并且不受支持。

让我引用 this discussion 的 build vNext 开发人员的话(见帖子底部):

That is not a supported option. It is very likely that the agent we have in VSO will not work with the on-prem server. You must use the version of the agent that ships with your server.

并且:

The behavior is undefined/untested. It may work, may not. The design is for agents to get pulled forward via an auto update process downloaded from your service. The auto update process may alter configs/layout on disk, whatever. That future agent might call REST apis that don't exist, etc... The primary focus for agents is on forward compat so they can lazily get upgraded (via task minimum agent demand, on restart or eventually a scheduled job).

与@Yan 的答案相同,但将其放在这里是因为以下错误无处不在 - 所以我认为微软本周更新了最低要求。

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

 msbuild
 visualstudio
 Agent.Version -gtVersion 1.95.0

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

我不得不在几分钟后重新启动代理服务,因为它似乎不想自己这样做。在执行此操作之前给它一个正确更新的机会。