73 lines
2.8 KiB
Bash
73 lines
2.8 KiB
Bash
|
#!/bin/bash
|
|||
|
# 项目自动更新脚本
|
|||
|
# 先clone相应的分支下来:
|
|||
|
# git clone ssh://git@120.24.173.142:7999/xxx.git
|
|||
|
# 远程调试启动:
|
|||
|
# nohup java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 -Xms512m -Xmx1024m -jar -Dspring.profiles.active=${profile} ${jarfile} >/dev/null 2>&1 &
|
|||
|
|
|||
|
function start {
|
|||
|
profile="$1"
|
|||
|
echo "启动环境profile=${profile}"
|
|||
|
jarfile=$(ls target/*.jar)
|
|||
|
if [[ "$?" == "0" ]]; then
|
|||
|
stop $profile $jarfile
|
|||
|
fi
|
|||
|
branch=$(git branch |awk '{print $2}')
|
|||
|
git pull origin ${branch}
|
|||
|
echo "更新完代码开始重新打包"
|
|||
|
mvn clean && mvn clean && mvn package -DskipTests=true
|
|||
|
if [[ "$?" != "0" ]]; then
|
|||
|
echo "编译出错,退出!"
|
|||
|
exit 1
|
|||
|
fi
|
|||
|
echo "nohup java -Xms512m -Xmx1024m -jar -Dspring.profiles.active=${profile} ${jarfile} >/dev/null 2>&1 &"
|
|||
|
nohup java -Xms512m -Xmx1024m -jar -Dspring.profiles.active=${profile} ${jarfile} >/dev/null 2>&1 &
|
|||
|
echo "启动应用中,请查看日志文件..."
|
|||
|
}
|
|||
|
|
|||
|
function stop {
|
|||
|
profile="$1"
|
|||
|
jarfile="$2"
|
|||
|
ps aux | grep "${jarfile}" | grep "spring.profiles.active=${profile}" | grep -v grep > /dev/null
|
|||
|
if [[ "$?" == "0" ]]; then
|
|||
|
echo "该应用还在跑,我先停了它"
|
|||
|
pid=$(ps aux | grep "${jarfile}" | grep "spring.profiles.active=${profile}" | grep -v grep |awk '{print $2}')
|
|||
|
if [[ "$pid" != "" ]]; then
|
|||
|
kill -9 $pid
|
|||
|
fi
|
|||
|
echo "停止应用成功..."
|
|||
|
fi
|
|||
|
}
|
|||
|
|
|||
|
if [[ "$1" == "start" ]]; then
|
|||
|
if [[ "$#" < 2 ]]; then
|
|||
|
echo "请输入正确参数:./epay.sh start {profile}"
|
|||
|
exit 1
|
|||
|
fi
|
|||
|
profile="$2"
|
|||
|
if [[ "$profile" != "dev" && "$profile" != "test" && "$profile" != "show" && "$profile" != "production" ]]; then
|
|||
|
echo "参数错误,请输入正确的profile参数,使用方法:"
|
|||
|
echo "./epay.sh start {profile} ==> 启动应用,{profile}取值:dev|test|show|production"
|
|||
|
exit 1
|
|||
|
fi
|
|||
|
start "${profile}"
|
|||
|
elif [[ "$1" == "stop" ]]; then
|
|||
|
if [[ "$#" < 2 ]]; then
|
|||
|
echo "请输入正确参数:./epay.sh stop {profile}"
|
|||
|
exit 1
|
|||
|
fi
|
|||
|
profile="$2"
|
|||
|
if [[ "$profile" != "dev" && "$profile" != "test" && "$profile" != "show" && "$profile" != "production" ]]; then
|
|||
|
echo "参数错误,请输入正确的profile参数,使用方法:"
|
|||
|
echo "./epay.sh stop {profile} ==> 停止应用,{profile}取值:dev|test|show|production"
|
|||
|
exit 1
|
|||
|
fi
|
|||
|
jarfile=$(ls target/*.jar)
|
|||
|
stop $profile $jarfile
|
|||
|
else
|
|||
|
echo "参数错误,使用方法:{}参数是必填的,[]参数可选"
|
|||
|
echo "./epay.sh start {profile} ==> 启动应用,{profile}取值:dev|test|show|production"
|
|||
|
echo "./epay.sh stop {profile} ==> 停止应用,{profile}取值:dev|test|show|production"
|
|||
|
exit 1
|
|||
|
fi
|