pos-admin.sh
#!/bin/sh
echo =================================
echo 自动化部署脚本启动
echo =================================
echo 停止原来运行中的工程
APP_NAME=pos-admin.jar
### APP_NAME = test.jar
### 这个地方的名称 就是pom 文件中的 artifactId , 但最好是写全一点 比如打包了之后的 包名称是 test.jar
### 那么这里的 APP_NAME 就写成 test.jar , 因为后面 tpid 的变量同 会匹配这个 app_name 的, 如果匹配的结果很多, tpid 的值会是多个, kill不掉, 脚本执行达不到效果
### 这里使用 kill -15 是一种柔和的关闭进程的一种方式
tpid=`ps -ef|grep $APP_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
if [ ${tpid} ]; then
echo 'Stop Process...'
kill -15 $tpid
fi
### 这里是等待两秒之后, 如果还找到了进程的id ,那就进行强制关闭
sleep 2
tpid=`ps -ef|grep $APP_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
if [ ${tpid} ]; then
echo 'Kill Process!'
kill -9 $tpid
else
echo 'Stop Success!'
fi
echo 准备从Git仓库拉取最新代码
cd /project/pos/git/tiger
echo 开始从Git仓库拉取最新代码
git pull
echo 代码拉取完成
echo 开始打包
# output=`mvn clean package -pl io.renren:pos-admin -am -amd -Dmaven.test.skip=true`
mvn clean package -pl io.renren:pos-admin -am -amd -Dmaven.test.skip=true
cd renren-admin/target
echo 启动项目
nohup java -jar pos-admin.jar &> /project/pos/pos-admin.log &
echo Java项目启动完成
# vue打包更新
echo 处理VUE
cd /project/pos/git/tiger/renren-ui
# output=`npm run build:prod`
# npm run build:prod
rm -rf dist
cp -rf dist_prod dist
echo VUE打包成功
# 转移pos
echo 转移POS安装包
cp -R ../pos-update ./dist/
echo 转移成功
标签:grep,tpid,admin,pos,echo,kill,线上,java,打包
From: https://www.cnblogs.com/pansidong/p/18106134