如何在Jenkins中将PowerShell脚本作为作业运行

27

这个问题听起来很简单,但是我在网上搜索后仍然无法解决。我基本上想在Jenkins中执行PowerShell脚本(例如script.ps1)并报告成功/失败。

尝试1:作为“执行Windows批处理命令”运行以下内容

powershell -File c:\scripts\script.ps1

这个程序一开始能够正常启动,但几秒钟后就会退出。

尝试 2:将以下内容作为“执行 Windows 批处理命令”运行

powershell -NoExit -File c:\scripts\script.ps1

这个脚本成功运行了,但是它永远不会停止。我不得不手动终止脚本。

3个回答

32

嗯,有一个 PowerShell 插件,它可以包装 shell。我在我的服务器上使用这个插件,在标准符号中执行脚本:

powershell -File test001.ps1

它可以完美地运行,没有任何问题。


很酷,我尝试了这个插件,但无法运行ps1文件。但我从未尝试过上面的符号。会用这种方式尝试一下,谢谢! - Danish
3
我使用了以下命令:powershell -ExecutionPolicy Unrestricted -File file.ps1该命令的作用是运行名为file.ps1的PowerShell脚本,并且不受执行策略的限制。 - Jan Kronquist
1
我也无法正确运行插件,可能与执行策略或其他原因有关。不得不退回到标准命令行,并使用 powershell.exe -ExecutionPolicy Bypass -NoLogo -NonInteractive -NoProfile -WindowStyle Hidden -File script.ps1 命令。 - Benoit

7

0
如果您运行的是64位PowerShell,则无需运行“-ExecutionPolicy Bypass”:
C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe -nologo -file 'c:\scripts\upgrade-Chrome.ps1' -WindowStyle Hidden 

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接