Stage("execution") {
Steps {
bat 'start cmd.exe /c c:\\users\\doc\\sample.bat'
}
}
上面的脚本只是打开cmd
提示并执行它。它不获取执行的输出。即使执行失败,该阶段也会显示为成功,并进入下一阶段进行部署。我想开发它,以便输出cmd
詹金斯应将提示视为输入,并且阶段应继续。如果阶段在执行过程中失败,则阶段应在 Jenkins 中显示失败,如果执行成功,则阶段应显示成功。有人可以帮忙吗?
另一个问题:如果批处理文件位于Git中,如何在上面的脚本中给出路径?
使用start
命令,您正在创建一个新的独立控制台进程,Jenkins 无法跟踪该进程。
这样做:
bat 'call "c:\\users\\doc\\sample.bat"'
这将在与当前脚本相同的环境中运行批处理文件,并等待批处理文件结束。 Jenkins 将能够捕获标准输出并通过批处理文件的退出代码检测错误。
你可以写@call
从输出中隐藏命令行。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)