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
我确实(只是在你提到它之后),但它不会改变行为。尽管感谢您的快速回复! – StuporMundi
我从来没有使用詹金斯所以canot帮助你超越基础知识:你尝试将脚本移动到本地计算机,有没有任何日志文件等 –
非常感谢!在本地复制脚本实际上是诀窍 - 如果我例如在我的脚本中执行'&“C:\ Test.ps1”'并且文件在那里)它运行正常,所以问题只在于从网络共享运行的脚本。Jenkins的日志文件什么也没有产生(基本上詹金斯捕获被调用的脚本的输出,但似乎没有开始 - 因此没有日志...)。在构建机器jenkins作为服务运行 - 这可能也有助于这个问题... – StuporMundi