问题描述
使用jenkins自动部署jar包. 打包传到服务后, 停止stop.sh脚本执行成功. 并且 xx.jar 也成功停止.
但是使用jenkins执行start.sh脚本执行成功, 但是服务器上xx.jar并没有启动起来.
启动命令是
powershell
nohup java -jar **.jar --spring.cloud.bootstrap.name=bootstrap-debug>log.txt 2>&1 &
以下方式其中一种可能对您有效. 如果还有别的方式,欢迎评论留言一起学习.
解决方法一
使用全路径,原本我们的命令是nohup java -jar .jar ... , 改为 nohup java -jar /usr/local/.jar ...
powershell
nohup java -jar /usr/local/**.jar --spring.cloud.bootstrap.name=bootstrap-debug>log.txt 2>&1 &
解决方法二
在执行 nohup 前 添加source /etc/profile
powershell
source /etc/profile
nohup java -jar **.jar --spring.cloud.bootstrap.name=bootstrap-debug>log.txt 2>&1 &
解决方法三
在nohup前面 使用 BUILD_ID=xxx ,其中xxx可以是任意内容(只要不是原来的BUILD_ID内容即可),同时需要把nohup输出内容重定向到文件里面,如"/usr/local/nohup.out"
powershell
BUILD_ID=dontKillMe
nohup java -jar **.jar --spring.cloud.bootstrap.name=bootstrap-debug>/usr/local/nohup.out 2>&1 &