踩了N多坑,遇到此情况的按照以下几点来排查吧
1、在shell脚本加上一行BUILD_ID=dontKillMe
![](https://img.haomeiwen.com/i2210416/43d0fe0a385a78cf.png)
后边的dontKillMe,是可以随便填的,目的是告诉jenkins执行完后,不要把该子进程杀掉。
2、所有文件都用全路径
![](https://img.haomeiwen.com/i2210416/1f0882c531d605c5.png)
如图,指定配置文件、要运行的jar包,都拼接上了完整的路径
3、java命令,有的服务器直接java -jar就可以,但有的需要用java命令的全路径
一开始猜测可能是环境变量配置问题,但是此台机器环境变量已检查,没问题,在哪个地方都能访问到java命令,但是不知道为啥jenkins调用时日志就输出找不到java。
用which java查全路径
4、之前还犯了一个小错,用了-Dxxxx来指定一些参数, -D的是给jvm调用的,要放在 -jar 之前才生效。
在手动执行脚本时,放后边试了也可以,但是jenkins调用时,就不生效了。
这样导致jar包虽然起来了,但不是按照指定的配置文件来的,连端口也是默认的8080,而不是配置文件里配置的。
网友评论