在做单机部署时(jenkins和项目部署在一台机器上),脚本中加了BUILD_ID=dontKillMe
,集成一切正常,项目启动之后也不会被jenkins kill掉,但是在远程部署到两台机器时,遇到问题了。
遇到两个问题:
第一个问题:jenkins控制台打印正常,但是项目没有启动(启动后在jenkins构建结束后被kill掉)。
解决过程:
1:BUILD_ID=dontKillMe。 测试无效
2:daemon守护线程。测试无效
3:临时改变BUILD_ID值,启动项目后再改回原来值。测试无效
4:脚本增加source /etc/profile ,项目没有被杀掉。测试解决
第二个问题:异常信息ERROR: Exception when publishing, exception message [Exec exit status not zero. Status [126]]
,具体是在推送jar到第一台服务器,执行脚本之后,不能有效的结束,卡在了第一台机器的集成上,直到报超时异常。
解决过程:
1:手动在执行脚本添加了exit=0,测试无效。
2:检查磁盘空间,容量充足,未解决。
3:脚本内容 nohup java -jar ××××.jar
后加日志输出,即nohup java -jar ××××.jar > nohup.out 2>&1 &
,完美解决。(不知道为什么,如果有大佬清楚,麻烦评论区告知一下)