【发布时间】:2016-08-25 02:32:59
【问题描述】:
晚上,
我最近安装了 TFS2015 并研究了发布管理集成解决方案,但遇到了一个我无法理解的巨大障碍。
我目前有一个使用 TFS、RM Server 2013 和 Powershell DSC 的 RM2013 构建,并在 RM2015 中设置了一个新部署,它有一个任务“在远程机器上执行 Powershell” - 使用一个非常简单的 powershell 脚本只是向详细的侦听器写出一个字符串。
我已验证文件已作为工件传输过程的一部分传输到代理工作目录,如果我调用 Import-Module "path to script"(这就是 PowerShellonTargetMachines 脚本似乎在幕后做)在远程服务器的 ISE 中,我的脚本运行得非常好 - 但无论我做什么,在 TFS 2015 版中我都会得到这个错误:
[错误]术语“脚本\test.ps1 的路径”未被识别为 cmdlet、函数、脚本文件或可运行程序的名称。检查名称的拼写,或者如果包含路径,请验证路径是否正确并重试。更多信息请参考http://aka.ms/powershellontargetmachinesreadme
现在只是为了再次确认,scrpt 的路径是 100% 正确的,我已将其粘贴到远程服务器上的本地 ISE 中,它执行得非常好 - 但从 TFS2015 Execute Powershell on Remote Server - 它只是失败了运行,实际上我指向的任何脚本都无法运行并出现完全相同的错误(我最初认为这可能是 DSC 组件安装失败,但即使使用简单的测试脚本也会出现同样的问题!
我在任务Deployment>Powershell Script参数输入的路径是:
c:\test_scripts\test.ps1
我尝试过使用引号、不带引号、点源 - 没有任何区别,这让我认为我的安装从根本上破坏了某些东西,或者我只是做错了。
任何想法都非常感谢!!!
【问题讨论】:
-
已修复此问题...确保在发布代理本身上执行 PS1 文件,除非首先通过文件复制将 powershell 文件复制到远程节点,如下所示。
标签: powershell tfs release tfs-2015 ms-release-management