即使安装了Jenkins,团队基础电动工具也无法识别

时间:2017-07-25 20:27:03

标签: windows powershell jenkins tfs tfs-power-tools

我已经为Jenkins服务器安装了Team foundation power工具。我在Full VS 2015上安装了TFS 2015.我想运行PowerShell脚本,它从TFS中提取项目。我可以从Jenkins服务器运行它。当我尝试使用powershell插件从Jenkins构建定义传递该脚本时。我在团队基础电动工具方面遇到了错误。詹金斯抱怨没有安装团队基础电动工具。我试图卸载并重新安装工具。通过使用我安装此工具,我的Jenkins服务正在运行。此外,此工具不是用户特定的。它已为所有用户安装。有人可以帮忙吗?

  

Add-PSSnapin:Windows PowerShell管理单元' Microsoft.TeamFoundation.PowerShell'未安装在此计算机上。   在C:\ Users \ AppData \ Local \ Temp \ jenkins4325377511943060199.ps1:22 char:1   + Add-PSSnapin Microsoft.TeamFoundation.PowerShell   + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~       + CategoryInfo:InvalidArgument:(Microsoft.TeamFoundation.PowerShell:String)[Add-PSSnapin],PSArgument      例外       + FullyQualifiedErrorId:AddPSSnapInRead,Microsoft.PowerShell.Commands.AddPSSnapinCommand   Get-TfsChildItem:术语' Get-TfsChildItem'不承认   cmdlet,函数,脚本文件或可运行程序的名称。   检查名称的拼写,或者如果包含路径,请验证   路径是正确的,然后再试一次。在   C:\用户\应用程序数据\本地的\ Temp \ jenkins4325377511943060199.ps1:25   焦炭:10   + $ items = Get-TfsChildItem $ AutoDeployDir -Recurse -Server $ tfsCollection   + ~~~~~~~~~~~~~~~~       + CategoryInfo:ObjectNotFound:(Get-TfsChildItem:String)[],CommandNotFoundException       + FullyQualifiedErrorId:CommandNotFoundException

enter image description here 如您所见,我可以在服务器内手动运行它。

2 个答案:

答案 0 :(得分:1)

根据错误

  

Add-PSSnapin:Windows PowerShell管理单元   此处未安装“Microsoft.TeamFoundation.PowerShell”   计算机。

可能未完全安装TFS Powertools。默认情况下,它不会安装 PS CmdLets

enter image description here

因此,在重新安装过程中添加简单,然后再次尝试使用Jenkins进行构建。

enter image description here

更多方法请参考以下类似问题:TFS Build: `Microsoft.TeamFoundation.PowerShell' is not installed on this computer

答案 1 :(得分:0)

我明白了。这是x32和x64之间的工具问题。您将需要添加注册表来解决此问题。复制* .reg文件中的内容,然后双击文件将其安装到注册表中。

  

Windows注册表编辑器版本5.00   [HKEY_LOCAL_MACHINE \ SOFTWARE \微软\的PowerShell \ 1 \ PowerShellSnapIns \ Microsoft.TeamFoundation.PowerShell]   " PowerShellVersion" =" 4.0" "供应商" ="微软公司"   "说明" ="这是包含团队的PowerShell管理单元   Foundation Server cmdlet。"   " VendorIndirect" =" Microsoft.TeamFoundation.PowerShell,微软"   " DescriptionIndirect" =" Microsoft.TeamFoundation.PowerShell,这是一个   包含Team Foundation Server cmdlet的PowerShell管理单元。"   "版本" =" 14.0.0.0" " ApplicationBase" =" C:\ Program Files   (x86)\ Microsoft Team Foundation Server 2010电动工具"   "的AssemblyName" =" Microsoft.TeamFoundation.PowerTools.PowerShell,   Version = 14.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a"   " ModuleName" =" C:\ Program Files(x86)\ Microsoft Team Foundation   Server 2015 Power   工具\ Microsoft.TeamFoundation.PowerTools.PowerShell.dll"   " CustomPSSnapInType" =" Microsoft.TeamFoundation.PowerTools.PowerShell.TFPSSnapIn"

     

[HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \微软\ PowerShell的\ 1 \ PowerShellSnapIns \ Microsoft.TeamFoundation.PowerShell]   " PowerShellVersion" =" 4.0" "供应商" ="微软公司"   "说明" ="这是包含团队的PowerShell管理单元   Foundation Server cmdlet。"   " VendorIndirect" =" Microsoft.TeamFoundation.PowerShell,微软"   " DescriptionIndirect" =" Microsoft.TeamFoundation.PowerShell,这是一个   包含Team Foundation Server cmdlet的PowerShell管理单元。"   "版本" =" 14.0.0.0" " ApplicationBase" =" C:\ Program Files   (x86)\ Microsoft Team Foundation Server 2010电动工具"   "的AssemblyName" =" Microsoft.TeamFoundation.PowerTools.PowerShell,   Version = 14.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a"   " ModuleName" =" C:\ Program Files(x86)\ Microsoft Team Foundation   Server 2015 Power   工具\ Microsoft.TeamFoundation.PowerTools.PowerShell.dll"   " CustomPSSnapInType" =" Microsoft.TeamFoundation.PowerTools.PowerShell.TFPSSnapIn"

不要忘记根据您的设置更改PowerShellVersion和TFS版本。如果版本不匹配,它将无法工作。 我是从http://www.it1me.com/it-answers?id=35292971&ttl=TFS+Build%3A+%60Microsoft.TeamFoundation.PowerShell%26%2339%3B+is+not+installed+on+this+computer

找到的