我希望我的Jenkins构建失败,如果调用Java程序的shell脚本失败。
java程序捕获任何异常并以**-1**退出
catch (Throwable e) {
System.err.println(e.getMessage());
e.printStackTrace();
System.exit(-1);
}
字符串
myscript.shbash脚本调用java程序如下:
#!/bin/bash
# exit immediately if any command fails
set -e
java MyJavaProgram
exit 0
型
Jenkins只是使用了一个Execute shell构建步骤,命令如下:
cd /home/jenkins/deployments/Scripts
sh myscript.sh
型
然而,在我的Jenkins控制台日志中,我可以看到一条异常消息和堆栈跟踪,但整个jenkins构建显示为Finished:SUCCESS
我错过什么了吗?
1条答案
按热度按时间vmjh9lq91#
你应该有一个错误的配置。Jenkins符合标准:
我试过了,Jenkins(最新2023版本:2.426.1)按预期工作。在新作业中复制此操作
自由风格:构建步骤
字符串
完整的作业配置在这里:
https://i.stack.imgur.com/0wjrx.png
作业结束,0为退出码时为成功
型
带 shell :
的数据
与Jenkins
的
如果退出码为非零,作业将以失败结束
型
带 shell :
与Jenkins