解決Jenkins用shell指令碼部署後,jar包啟動失敗的問題
阿新 • • 發佈:2021-03-19
使用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 &
這兩種方式都可以