我想使用powershell命令从Jenkins管道运行Powershell文件。应该很容易,对吧?
node()
{
stage ('Hello World') {
powershell returnStatus: true, script: 'C:\\HelloWorld.ps1'
}
}
C:\ HelloWorld.ps1是一个单行:
Write-Host "Hello World"
但是运行该作业会导致进程挂起。这是控制台输出:
Started by user Administrator
[Pipeline] node
Running on master in C:\Jenkins\workspace\HelloWorld
[Pipeline] {
[Pipeline] stage
[Pipeline] { (Hello World)
[Pipeline] powershell
[HelloWorld] Running PowerShell script
然后它就会挂起,直到我取消这份工作。
怎么办?
答案 0 :(得分:4)
我有同样的问题并设法通过将DurableTask插件从1.17降级到1.15来解决它。它似乎是JENKINS-46496 bug的一部分。旧的插件版本有1.15。
您可以在管理插件 - >高级标签 - >上传插件按钮中将插件更新为所需版本。
答案 1 :(得分:1)
我遇到了同样的问题,问题是作业名称中有空格。
答案 2 :(得分:1)
答案 3 :(得分:0)
我在大约70%的情况下遇到同样的问题。我有一个管道脚本,开始在不同的代理上分散大约20个并行作业。其中每个尝试最初运行Powershell脚本。大约30%的作业成功运行脚本,其余的就像对Ola一样。
构建代理的配置方式完全相同(VM群集中的克隆)。使用Powershell v4。经过多次尝试,单个构建代理有时会成功运行Powershell,有时候不会。
我已经运行了这个管道5-6周,这只是上周这种行为。幸运的是,剧本尚未投入生产:-)
我没有时间进行全面调查。是不是有些管道插件已经更新并引入了这个bug?