SpringBoot部署腳本
本機部署
APP_FILE=/data/jar/app.jar #修改jar包路徑,下面代碼無需修改
LOG_FILE=${APP_FILE}.out
pid=`ps -ef|grep ${APP_FILE}|grep -v grep|awk '{print $2}'`
if [ -n "${pid}" ]; then
echo "正在停止${APP_FILE},進程PID爲${pid}"
kill -9 $pid
fi
echo "啓動${APP_FILE}..."
nohup java -jar ${APP_FILE} >${LOG_FILE} 2>&1 &
遠程部署
一般生產環境服務器會跟打包服務器隔離開來,那麼需要傳輸到遠程服務器啓動
LOCAL_JAR_FILE=target/app.jar #修改此處本地jar路徑,一般爲maven編譯後地址
APP_FILE=/data/jar/app.jar #修改jar包路徑
REMOTE_SERVER=192.168.1.201 #修改遠程主機的IP或者hostname 需要開通ssh連接
LOG_FILE=${APP_FILE}.out
echo "正在將${LOCAL_JAR_FILE}傳輸到${REMOTE_SERVER}的${APP_FILE}..."
scp ${LOCAL_JAR_FILE} root@${REMOTE_SERVER}:${APP_FILE}
ssh root@${REMOTE_SERVER} "ls -lh --time-style '+%Y-%m-%d %H:%M:%S' ${APP_FILE%/*}/ | grep ${APP_FILE##*/}"
pid=`ssh root@${REMOTE_SERVER} ps -ef|grep ${APP_FILE}|grep -v grep|awk '{print $2}'`
if [ -n "${pid}" ]; then
echo "正在停止${APP_FILE},進程PID爲${pid}"
ssh root@${REMOTE_SERVER} kill -9 ${pid}
fi
echo "啓動${APP_FILE}..."
ssh root@${REMOTE_SERVER} "nohup java -jar ${APP_FILE} >${LOG_FILE} 2>&1 &"