一套全面的linux部署脚本

文件名称deploy_sqm_server.sh

部署时,可以指定分支(默认master),然后自动更新代码,打包部署。
如:sh deploy_sqm_server.sh dev,即可重新部署dev分支。

#!/bin/bash

source /etc/profile

echo "-- 进入SQM后端工程目录"
cd /data/sqm-app/server/sqm/project/SQM

if [ ! -n "$1" ]; then
    echo "-- param is null, so checkout master"
    git checkout master
else
    echo "-- git checkout $1"
    git checkout $1
fi

echo "-- git pull"
git pull

echo "-- 编译并跳过单元测试"
mvn clean package -Puat -Dmaven.test.skip=true -P test

echo "-- 删除sqm旧的jar"
rm -rf /data/sqm-app/server/sqm/sqm-app.jar

echo "-- 拷贝新的jar包到指定安装目录下"
cp /data/sqm-app/server/sqm/project/SQM/sqm-app/target/sqm-app.jar  /data/sqm-app/server/sqm/sqm-app.jar


# 根据SQM进程名称杀死SQM进程号
echo '-- kill SQM process start'
SQM_PID=`ps -ef|grep sqm-app.jar|grep -v grep|grep -v PPID|awk '{ print $2}'`
echo 'found SQM PID list:' $SQM_PID
for pid in $SQM_PID
    do
    # 杀掉进程
    kill -9 $pid
    echo "killed $pid"
    done
echo "-- kill SQM process end"


echo "-- 进入指定目录重新启动工程"
cd /data/sqm-app/server/sqm/
nohup java -jar sqm-app.jar > sqm-app.out 2>&1 &

# 显示日志
tail -200f sqm-app.out

一些基础的bash 语法参考:
https://segmentfault.com/a/1190000044989209

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值