将 TFS2017 任务更新到最新版本

Posted

技术标签:

【中文标题】将 TFS2017 任务更新到最新版本【英文标题】:Update TFS2017 task to latest version 【发布时间】:2020-06-03 22:34:27 【问题描述】:

我正在使用 VSTS 任务构建以在远程机器上运行 powershell 脚本:

我目前在本地使用 TFS2017,这是该任务的第 1 版。 github 上有一个版本 3: https://github.com/Microsoft/azure-pipelines-tasks/tree/master/Tasks/PowerShellOnTargetMachinesV3

我遇到了这个任务失败的问题,我在其他地方读到这个版本已经修复了我的问题,所以如果可能的话我想更新它。 我尝试了几种方法来做到这一点,但我无法弄清楚我应该做什么。你会认为 TFS 中会有一个更新按钮! 嗯,有,但它要求您提供一个 .VISX 文件。 GIT 中的 repo 没有。

我已尝试运行其他帖子中的步骤: How to update the built-in Microsoft task library in TFS 2017? 但运行命令“npm run package -- --version”不会生成 VISX。

我试过跑步:

npm run package --PowerShellOnTargetMachinesV3 --version 3.1.3

响应输出:

5.6.0

我不知道该怎么办!

我看到另一个帖子说我需要使用 tfs-cli? 我很困惑。

感谢任何帮助!

【问题讨论】:

版本 3 随附 TFS 2019 OOB。所以就像帕特里克在下面提到的,如果你在 2017 年想要它,你必须自己打包和部署它。问题是我不确定你可以升级它。它没有显示在已安装的任务中(因为它是内置的),因此您将无法升级。也许来自 tfx 命令行,但现在您正在升级内部 MS 任务,我不确定当您稍后尝试升级到 2018 或 2019 时它将如何发挥作用。您的错误是什么,也许有办法尝试升级。 谢谢@PatrickLu-MSFT - 我现在正在尝试解决这个问题。不过因为是在TFS2019更新的,而且我打算很快升级到那个,我可能就等着升级吧。 【参考方案1】:

由于您在本地部署 TFS,因此任务版本不会自动更新。您需要手动安装“目标机器上的 PowerShell”任务版本 3.0

您只需要下载源代码并将其打包为扩展程序,最后上传并安装您的扩展程序。更新了一些步骤:

获取打包工具(tfx-cli)

您可以从命令行使用 npm(Node.js 的一个组件)安装或更新 TFS 跨平台命令行界面 (tfx-cli)。

npm i -g tfx-cli

将您的扩展程序打包到 .vsix 文件中

tfx extension create --manifest-globs vss-extension.json

更多详情请参考官方教程:Package, publish extensions。

【讨论】:

以上是关于将 TFS2017 任务更新到最新版本的主要内容,如果未能解决你的问题,请参考以下文章

TFS 使用新文件获取最新版本

2017年TFS - VS 2017 15.5更新后默认为MSBuild 14。需要MSBuild 15回来

Azure DevOps 自动将多个版本更新为最新发布的任务组版本

TFS 获取最新版本忽略文件

如何将 cldrdata.jar 更新到最新版本的 CLDR (v31)?

在 TFS 构建配置上缺少 Visual Studio 的最新版本 2019 [重复]