一套通过jenkins远程ssh脚本来实现自动部署的方式

该方法通过远程服务器上maven命令构建,再启动

1、流程脚本

#!/bin/sh
#杀死原来的java进程
sh /home/circles/circles-server/sh/stop-circles-server.sh
#进入代码文件夹,必须有git管理
cd /home/circles/src_rep/circles-simple
#更新代码
git pull --ff-only
#清理原来的jar包重新打包
mvn clean install -Dmaven.test.skip=true
cd ~
#删除原来的备份jar包
rm -f /home/circles/circles-server/jar/circles-simple.jar.bak
#备份上个版本
cp /home/circles/circles-server/jar/circles-simple.jar /home/circles/circles-server/jar/circles-simple.jar.bak
#把新版本复制过来
cp /home/circles/src_rep/circles-simple/target/circles-simple.jar /home/circles/circles-server/jar/circles-simple.jar
#后台运行
sh /home/circles/circles-server/sh/run-circles-server.sh

2、启动脚本

#!/bin/bash
JMX_OPT="-Dlog4j2.formatMsgNoLookups=true"

SPRING_OPT=""
#jar包路径
FILE_PATH="/home/circles/circles-server/jar/circles-simple.jar"

#nohup java -agentpath:/tmp/cdbg_java_agent.so $JMX_OPT -jar $FILE_PATH $SPRING_OPT  > /dev/null 2>&1 &
#nohup java $JMX_OPT -jar $FILE_PATH $SPRING_OPT  > /dev/null 2>&1 &
nohup java -jar -Dfile.encoding=UTF-8 $FILE_PATH $SPRING_OPT --project.home=/home/circles/circles-server/jar/ > /dev/null 2>&1 &

3、停止脚本

ps -ef|grep "circles-simple.jar"|grep -v grep |awk '{print $2}'|xargs kill -9

4、开机启动脚本

[Unit]
Description=circles
After=network.target

[Service]
Type=forking
ExecStart=/home/circles/circles-server/sh/run-circles-server.sh

[Install]
WantedBy=multi-user.target

扫描二维码,在手机上阅读!

发表评论

电子邮件地址不会被公开。 必填项已用*标注