1. 程式人生 > 其它 >解決Jenkins用shell指令碼部署後,jar包啟動失敗的問題

解決Jenkins用shell指令碼部署後,jar包啟動失敗的問題

使用root賬號登入,在本地執行.sh指令碼檔案沒有任何問題。
但是jenkins部署時死活不行,並且錯誤很奇怪,只有kill程序和拷jar包成功了。。。起服務就是起不來。

產生原因:

shell指令碼釋出時,會衍生程序,Jenkins預設會自動殺掉衍生程序

解決方案:

在執行shell指令碼前,加個build_ID引數即可

BUILD_ID=DONTKILLME
在這裡插入圖片描述
或者是在 執行的指令碼中加這一段也可以

#專案jar包名稱
APP_NAME=smcc-0.0.1-SNAPSHOT.jar
#重啟命令
pid=`ps -ef | grep $APP_NAME | grep -v grep |awk
'{print $2}'`
if [ $pid ]; then echo :App is running pid=$pid kill -9 $pid fi BUILD_ID=DONTKILLME nohup java -jar $APP_NAME> sm.log 2>&1 &

這兩種方式都可以