2012-12-19 59 views
2

我有一个使用Jenkins PowerShell构建步骤来执行PowerShell脚本的Jenkins(1.493)项目。在该脚本中,我想调用另一个存储在文件中的脚本。我现在它归纳为以下:在Jenkins PowerShell构建步骤中调用的PowerShell脚本无限期地挂起

脚本里面詹金斯的PowerShell构建步骤:Test.ps1的
& "\\stemmer.local\sidevelopment\cvdev\devbase\jenkins\PowerShell\Test.ps1"

内容:
write-host 'Hello world!'

每当这个詹金斯项目执行,PowerShell的构建步骤无限期地挂起。

事情我已经试过/到目前为止验证:

  • 添加一定量输出前的Test.ps1调用显示我的詹金斯PowerShell脚本正在正常执行到哪里Test.ps1被称为点。
  • 文件Test.ps1存在并可从执行脚本的构建从站访问。如果我改变文件名,我会从PowerShell中得到预期的错误信息...
  • 在第一个脚本中交换“for”并不会改变任何内容,而且使用点源代码而不是&并不会帮助
  • 文件Test.ps1可以使用与Jenkins PowerShell脚本中使用的命令行相同的命令行从PowerShell本身执行。建立奴隶
  • 我已经尝试用Windows批处理命令构建步骤替换PowerShell构建步骤,如下所示:
    powershell.exe -InputFormat None -File "\\stemmer.local\sidevelopment\cvdev\devbase\jenkins\PowerShell\Test.ps1"
    并且在powershell.exe的参数上稍微玩了一段时间,但结果是 - 在那些语法上和在其他情况下,正如我所知道的那样 - 总是一样的。

我只发现很少引用类似的问题,但其他地方提到的方法都没有帮助我解决这个问题。我非常困惑,并想知道是否有人遇到过这个问题(甚至有可能像我脑子里想的那样)。

非常感谢您的任何意见!

Volker 

回答

0

您是否尝试过设置执行策略以绕过?

在本地复制脚本文件,然后从JenkinsPowerShell插件中调用它 - 这种方式按预期工作。

+0

我确实(只是在你提到它之后),但它不会改变行为。尽管感谢您的快速回复! – StuporMundi

+0

我从来没有使用詹金斯所以canot帮助你超越基础知识:你尝试将脚本移动到本地计算机,有没有任何日志文件等 –

+0

非常感谢!在本地复制脚本实际上是诀窍 - 如果我例如在我的脚本中执行'&“C:\ Test.ps1”'并且文件在那里)它运行正常,所以问题只在于从网络共享运行的脚本。Jenkins的日志文件什么也没有产生(基本上詹金斯捕获被调用的脚本的输出,但似乎没有开始 - 因此没有日志...)。在构建机器jenkins作为服务运行 - 这可能也有助于这个问题... – StuporMundi

相关问题