700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > Shell 简单的java微服务jar包 -- 部署脚本

Shell 简单的java微服务jar包 -- 部署脚本

时间:2021-02-14 04:30:48

相关推荐

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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。