我遇到了一个问题,就是 Jenkins 管道在调用批处理文件失败时没有失败。我已经检查了批处理文件,它返回了非零状态码,但不知何故似乎这个状态码并未被考虑在内。你们有没有什么提示可以给我吗?
期望的管道:
在cmd窗口中调用批处理会产生以下结果。
我也使用了以下流程进行测试。
仍然,管道没有失败。有任何想法吗?
期望的管道:
node {
stage('1'){
dir('_src') {
bat 'call test.bat'
}
}
}
在cmd窗口中调用批处理会产生以下结果。
>call test.bat
INFO: Started ...
ERROR
Press any key to continue . . .
>echo %ERRORLEVEL%
2
我也使用了以下流程进行测试。
node {
stage('1'){
dir('_src') {
bat '''call test.bat
echo %ERRORLEVEL%'''
}
}
}
...与此输出一起
C:\_src>call test.bat
INFO: Started ...
ERROR
Press any key to continue . . .
2
仍然,管道没有失败。有任何想法吗?
bat '''exit 2'''
能正常工作吗?也许你的问题是因为你的阶段内没有step{ }
。 - Quantic