大佬教程收集整理的这篇文章主要介绍了windows – 执行批处理脚本在Jenkins管道作业中不起作用,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
但是当我在jenkins管道工作中尝试相同时,它会调用powersHell脚本并进入下一步.它不等待PowerSHell脚本响应.
bat 'powersHell.exe -ExecutionPolicy Bypass "D:\\Test\\Deploymentscripts\\PowerSHellScript\\FileTransfer.ps1 $env:EndMarket $env:Environment"'
我尝试过另一个PowerSHell脚本,它将连接到Linux服务器并执行一些命令.它在管道工作中工作正常
请指导我解决这个问题.
我不知道您的管道是如何编写的,但我建议您查看Stage,Lock and Milestone,这可能就是您所需要的.
stage("PrevIoUs Step") { // Some prevIoUs step } stage("Wait for Script Execution") { // Call your script bat 'powersHell.exe -ExecutionPolicy Bypass "D:\\Test\\Deploymentscripts\\PowerSHellScript\\FileTransfer.ps1 $env:EndMarket $env:Environment"' } stage("Next Step") { // Script already finished its execution }
但没有你的管道信息只是一个猜测.另外为了提高脚本兼容性,避免“bat和ExcutionPolicy”并使用PowerShell plugin,使用该插件可以简化代码,如下所示:
powersHell -File your_script.ps1
编辑:我忘了提到你可以尝试使用PowerSHell和winscp lib的不同替代方案,使用Windows和Linux之间的“scp”直接兼容性,我在谈论Cygwin.
安装了Cygwin(使用scp),你可以使用scp,因为它是一个Linux盒子和一个bash脚本而不是powersHell:
D:/cygwin-64/bin/run.exe /usr/bin/bash -lic \"/home/user/file.sh\"
在这种情况下,我正在jenkins项目中使用“运行Windows批处理”选项通过Cygwin静默运行脚本.在脚本中,您可以添加sHell命令和所需的scp指令.
它似乎有点复杂,但增加了执行Windows – Linux任务的灵活性.
我在blog中详细介绍了更多示例,您可能会觉得它很有用.
正如avvi所提到的,你应该检查是否正在加载变量.
以上是大佬教程为你收集整理的windows – 执行批处理脚本在Jenkins管道作业中不起作用全部内容,希望文章能够帮你解决windows – 执行批处理脚本在Jenkins管道作业中不起作用所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。