来源 https://www.kancloud.cn/mr_zihan/deploy/2336890

发布脚本

以下脚本配合Alibaba Cloud Toolkit进行使用,也可以linux服务器上使用。

startup.sh

if [ -f $1 ];then
        var=$1
        filename=${var%.*}
        echo $filename
        nohup java -jar $1.jar >logs/$finame.log 2>&1 &
else 
echo "参数不合法"
fi

使用方法:

sh /data/work/springboot-app/evm-visit/startup.sh user-center.jar

shutdown.sh

第一个参数应输入Springboot jar文件;第二个参数用来筛选对应的进程。

if [ -f $1 ]; then
        echo $1“正在关闭中”
        if [ $2 == '']; then
                echo $(ps -ef | grep  $1$| grep -v 'grep\|sh' | awk '{print $2}')
                ps -ef | grep  $1$| grep -v 'grep\|sh' | awk '{print $2}'| xargs kill -9
        else
                echo $(ps -ef | grep  $1.*$2| grep -v 'grep\|sh' | awk '{print $2}')
                ps -ef | grep  $1.*$2| grep -v 'grep\|sh' | awk '{print $2}'| xargs kill -9
        fi
else
        echo "参数不可为空"
fi

使用方法:

## 关闭所有的同名服务
sh /data/work/springboot-app/evm-visit/shutdown.sh user-center.jar
## 筛选特定的服务后关闭
sh /data/work/springboot-app/evm-visit/shutdown.sh user-center.jar 0054

before_deploy.sh

# Before deploy
# 查找并关闭原有的服务
sh shutdown.sh $1
# jar包备份
var=$1
filename=${var%.*}
echo "正在执行备份操作$1_$2_`date +%Y%m%d%H%M`.jar"
cp /data/work/springboot-app/$1 /data/backup/$filename_$2_`date +%Y%m%d%H%M`.jar

使用方法:

sh /data/work/springboot-app/evm-visit/before-deploy.sh user-center.jar dwlijx

Q.E.D.


曙光在头上,不抬起头,便永远只能看见物质的闪光。