【发布时间】:2012-12-19 10:20:53
【问题描述】:
我有一个 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 本身正确执行。 - 在我的开发主机和 Jenkins 构建从站上,PowerShell 的执行策略已设置为
unrestricted。 - 我尝试将 PowerShell 构建步骤替换为如下所示的 Windows 批处理命令构建步骤:
powershell.exe -InputFormat None -File "\\stemmer.local\sidevelopment\cvdev\devbase\jenkins\PowerShell\Test.ps1"
并使用 powershell.exe 的参数进行了一些操作,但结果是- 据我所知,在那些语法和其他方面正确的情况下 - 总是一样的。
我只发现很少提到听起来相似的问题,但其他地方提到的方法都没有帮助我解决这个问题。我非常困惑,想知道以前是否有人遇到过这个问题(甚至可能遇到过我想运行的场景)。
非常感谢您的任何意见!
Volker
【问题讨论】:
标签: powershell jenkins freeze