Shell 简单的java微服务jar包 -- 部署脚本
生活随笔
收集整理的這篇文章主要介紹了
Shell 简单的java微服务jar包 -- 部署脚本
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
部署描述:
1.jenkins 通過maven編譯成jar 項目包
2.shell 腳本從jenkins機器發布到:目標主機
注釋:次腳本沒有寫jar包的備份,有時間加上
?
腳本內容:
#!/bin/bash#線上服務器列表 HOST_LIST=${@:2}#項目名 REMOTE_PROJECT=$1#遠程JAR包存放目錄 REMOTE_JARDIR=/apps/project/${REMOTE_PROJECT}#遠程備份目錄 REMOTE_BACKUP="/apps/${REMOTE_PROJECT}/backup"#遠程執行用戶 REMOTEUSER='co_dev'# 逐個部署每臺服務器的微服務 for REMOTE in `echo $HOST_LIST` do# 遠程包更新啟動PACKAGE=`find ./ -name ${REMOTE_PROJECT}.jar`scp $PACKAGE ${REMOTEUSER}@${REMOTE}:$REMOTE_JARDIR/${REMOTE_PROJECT}.jarif [ $? -eq 0 ];then# JAR shutdownJAR_pid=`ssh ${REMOTEUSER}@${REMOTE} ps -ef | grep "${REMOTE_PROJECT}.jar" | grep -v "grep"|awk '{print $2}'`if [ -n $JAR_pid ];thenssh ${REMOTEUSER}@${REMOTE} kill -9 $JAR_pidelseecho "進程更不存在可以繼續部署"fielseecho "${REMOTE_PROJECT}.jar No such file or directory"exit 1fi# 啟動jar 服務并檢查端口sleep 2echo ".......................................開始啟動$REMOTE_PROJECT 服務"ssh ${REMOTEUSER}@${REMOTE} "nohup /apps/sofe/jdk1.8.0_131/bin/java -jar -Xms2048M -Xmx4096M -XX:+UseConcMarkSweepGC -XX:-PrintGCDetails -Dspring.profiles.active=prod1 ${REMOTE_JARDIR}/${REMOTE_PROJECT}.jar >>/apps/project/${REMOTE_PROJECT}/${REMOTE_PROJECT}.log 2>&1 &"sleep 10java_pid=`ssh $REMOTEUSER@$REMOTE ps -ef | grep "$REMOTE_PROJECT" | egrep -v "grep|log"|wc -l`if [[ $java_pid -ge 1 ]];thenecho "${REMOTE_PROJECT} startup is successful"elseecho "${REMOTE_PROJECT} startup is filed"exit 3fiecho "$REMOTE 服務器 ${REMOTE_PROJECT} 項目部署完畢...................................."echo -e "\n\n\n" done
?
轉載于:https://www.cnblogs.com/dy11/p/9476979.html
總結
以上是生活随笔為你收集整理的Shell 简单的java微服务jar包 -- 部署脚本的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 模块(sys/os/序列化模块)
- 下一篇: 全局对象与临时转换