2

我有一个 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”不会改变任何东西。此外,使用点源而不是&没有帮助。
  • Test.ps1可以使用 Jenkins PowerShell 脚本中使用的相同命令行从 powershell 本身正确执行该文件。
  • PowerShell 的执行策略已unrestricted在我的开发主机以及 Jenkins 构建从站上设置为。
  • 我尝试用如下所示的 Windows 批处理命令构建步骤替换 PowerShell 构建步骤:
    powershell.exe -InputFormat None -File "\\stemmer.local\sidevelopment\cvdev\devbase\jenkins\PowerShell\Test.ps1"
    并使用 powershell.exe 的参数进行了一些操作,但结果是 - 在那些语法和其他方面正确的情况下据我所知 - 总是一样的。

我只发现很少提到听起来相似的问题,但其他地方提到的方法都没有帮助我解决这个问题。我非常困惑,想知道以前是否有人遇到过这个问题(甚至可能遇到过我想运行的场景)。

非常感谢您的任何意见!

Volker
4

1 回答 1

0

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

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

于 2012-12-19T10:24:52.143 回答