从Jenkins PowerShell构建步骤中调用的PowerShell脚本无限期地挂起

时间:2012-12-19 10:20:54

标签: powershell jenkins hang

我有一个Jenkins(1.493)项目,该项目使用Jenkins PowerShell构建步骤来执行PowerShell脚本。在该脚本中,我想调用存储在文件中的另一个脚本。我现在把它减少到以下几点:

Jenkins PowerShell构建步骤中的脚本:
& "\\stemmer.local\sidevelopment\cvdev\devbase\jenkins\PowerShell\Test.ps1"

Test.ps1的内容:
write-host 'Hello world!'

每当执行此Jenkins项目时,PowerShell构建步骤将无限期挂起。

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

  • 在调用Test.ps1之前添加一些输出显示Jenkins PowerShell脚本正常执行,直到调用Test.ps1为止。
  • 文件Test.ps1存在,可以从执行脚本的构建从站访问。如果我改变文件的名称,我会收到来自PowerShell的预期错误消息......
  • 在第一个脚本中交换“for”不会改变任何内容。另外,使用点源而不是&也无济于事。
  • 可以使用Jenkins PowerShell脚本中使用的相同命令行从powershell本身正确执行文件Test.ps1
  • PowerShell的执行策略已在我的开发主机和Jenkins构建从属设置为unrestricted
  • 我尝试使用Windows批处理命令构建步骤替换PowerShell构建步骤,如下所示:
    powershell.exe -InputFormat None -File "\\stemmer.local\sidevelopment\cvdev\devbase\jenkins\PowerShell\Test.ps1"
    并使用powershell.exe参数进行了一些操作,但结果是 - 在那些语法上和其他方面都是正确的,据我所知 - 总是一样的。

我只发现很少提及听起来类似的问题,但其他地方提到的方法都没有帮我解决这个问题。我非常困惑,并想知道是否有人之前遇到过这个问题(甚至可能有一个像我想象的那样的场景)。

非常感谢任何输入!

Volker

1 个答案:

答案 0 :(得分:0)

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

在本地复制脚本文件,然后在Jenkins PowerShell插件中调用它 - 这样就可以按预期工作。