记录一下jenkins发布jar包,shell命令为nohup的一个坑点

问题:

因为目标服务器的配置原因(太拉胯了),直接使用nohup java -jar运行jar包,随后将命令编成两个sh文件,一个用来关闭端口,一个用来运行jar包。再配置jenkins方便发布,在执行启动命令时候失效。

排查:

  1. 因为端口关闭成功,首先排除文件位置、用户权限、文件权限等常见问题。
  2. 输出nohup文件,但是文件为空。可以判断已执行启动命令,但是启动失败。
  3. 顺着2的思路直接放入nohup命令代替sh命令,执行启动发现失败。大概确定是nohup命令有问题。

结论:

因为没有系统地学习过linux,请教了下公司的大哥,说是nohup是需要会话支持的,jenkins在执行完命令之后断开了会话导致nohup命令直接结束。

解决方案:

在shell命令上加入export BUILD_ID=dontKillMe 表示会话继续保持即可。

猜你喜欢

转载自blog.csdn.net/qq_16253859/article/details/124195794