2 changed files with 1 additions and 259 deletions
@ -1,258 +0,0 @@ |
|||||
#!/bin/bash |
|
||||
#set -x |
|
||||
set -e |
|
||||
|
|
||||
codePath=/home/www/deploy/wms8_prod |
|
||||
gitUrlArr=( |
|
||||
"http://git.galaxis.yvanui.com/wms8/wms8-bench.git" |
|
||||
"http://git.yvanui.com/jztd/yvan-ext.git" |
|
||||
"http://git.yvanui.com/lizhiwei/yvan-framework.git" |
|
||||
"http://git.galaxis.yvanui.com/wms8/wms-core.git" |
|
||||
"http://git.yvanui.com/jztd/yvan-ext-mobile.git" |
|
||||
) |
|
||||
|
|
||||
branchArr=( |
|
||||
"master" |
|
||||
"mini-bundle" |
|
||||
"master" |
|
||||
"master" |
|
||||
"master" |
|
||||
) |
|
||||
positionArr=( |
|
||||
"." |
|
||||
"yvan-ext" |
|
||||
"yvan-framework" |
|
||||
"wms-core" |
|
||||
"yvan-ext-mobile" |
|
||||
) |
|
||||
# 是否需要构建,-1:自动;0:不需要;1:需要 |
|
||||
needBuild=( |
|
||||
"1" |
|
||||
"1" |
|
||||
"1" |
|
||||
"1" |
|
||||
"1" |
|
||||
) |
|
||||
|
|
||||
echoPrefix="\033[36m+" |
|
||||
echoSuffix="\033[0m" |
|
||||
|
|
||||
# 强制覆盖本地的代码 git fetch --all && git reset --hard origin/master |
|
||||
isChange="1" # 仓库是否发生变化,0:未变化;非0:变化 |
|
||||
pullCode() { |
|
||||
# Usage: pullCode "codePath" "gitUrl" "branch" "position" |
|
||||
path=$1 # 代码保存路径 |
|
||||
gitUrl=$2 # git仓库地址 |
|
||||
branch=${3:-"master"} # git分支 |
|
||||
position=${4:-""} # 使用“.”clone到当前文件夹 |
|
||||
isChange="1" |
|
||||
# 创建文件夹 |
|
||||
if [ ! -d "$path" ]; then |
|
||||
echo -e "$echoPrefix 请检查服务器是否正确,再执行: mkdir -p $path $echoSuffix" |
|
||||
exit |
|
||||
fi |
|
||||
|
|
||||
# git clone |
|
||||
echo -e "$echoPrefix cd $path $echoSuffix" |
|
||||
cd $path |
|
||||
if [ "`ls -A $path`" == "" ] || [ ! -d "$path/$position" ] || [ "`ls -A $path/$position`" = "" ]; then |
|
||||
echo -e "$echoPrefix git clone $gitUrl $position $echoSuffix" |
|
||||
git clone $gitUrl $position |
|
||||
isChange="2" |
|
||||
fi |
|
||||
|
|
||||
# 进入文件夹,切换分支,git pull |
|
||||
if [ "$position" != "" ]; then |
|
||||
echo -e "$echoPrefix cd $position $echoSuffix" |
|
||||
cd $position |
|
||||
fi |
|
||||
echo -e "$echoPrefix git checkout $branch $echoSuffix" |
|
||||
git checkout $branch |
|
||||
echo -e "$echoPrefix git checkout . $echoSuffix" |
|
||||
git checkout . |
|
||||
echo -e "$echoPrefix git pull $echoSuffix" |
|
||||
if [ "`git pull`" == "Already up-to-date." ] && [ $isChange == "1" ]; then |
|
||||
isChange="0" |
|
||||
fi |
|
||||
echo "" |
|
||||
} |
|
||||
|
|
||||
buildCode() { |
|
||||
# 构建 yvan-ext |
|
||||
if [ "${needBuild[1]}" != "0" ]; then |
|
||||
echo -e "$echoPrefix cd $codePath/yvan-ext $echoSuffix" |
|
||||
cd "$codePath/yvan-ext" |
|
||||
echo -e "$echoPrefix yarn $echoSuffix" |
|
||||
yarn |
|
||||
echo -e "$echoPrefix yarn link $echoSuffix" |
|
||||
yarn link |
|
||||
echo -e "$echoPrefix yarn build $echoSuffix" |
|
||||
yarn build |
|
||||
echo "" |
|
||||
else |
|
||||
echo "yvan-ext 文件未变化" |
|
||||
fi |
|
||||
|
|
||||
# 构建 yvan-ext-mobile |
|
||||
if [ "${needBuild[4]}" != "0" ]; then |
|
||||
echo -e "$echoPrefix cd $codePath/yvan-ext-mobile $echoSuffix" |
|
||||
cd "$codePath/yvan-ext-mobile" |
|
||||
echo -e "$echoPrefix yarn $echoSuffix" |
|
||||
yarn |
|
||||
echo -e "$echoPrefix yarn link $echoSuffix" |
|
||||
yarn link |
|
||||
echo -e "$echoPrefix yarn build $echoSuffix" |
|
||||
yarn build |
|
||||
echo "" |
|
||||
else |
|
||||
echo "yvan-ext-mobile 文件未变化" |
|
||||
fi |
|
||||
|
|
||||
# 构建 wms-biz/bundle |
|
||||
if [ "${needBuild[0]}" != "0" ]; then |
|
||||
echo -e "$echoPrefix cd $codePath/wms-biz/bundle $echoSuffix" |
|
||||
cd "$codePath/wms-biz/bundle" |
|
||||
echo -e "$echoPrefix yarn $echoSuffix" |
|
||||
yarn |
|
||||
echo -e "$echoPrefix yarn link yvan-ext $echoSuffix" |
|
||||
yarn link yvan-ext |
|
||||
echo -e "$echoPrefix yarn build $echoSuffix" |
|
||||
yarn build |
|
||||
echo "" |
|
||||
else |
|
||||
echo "wms-biz/bundle 文件未变化" |
|
||||
fi |
|
||||
|
|
||||
# 构建 wms-biz/pda-client |
|
||||
if [ "${needBuild[0]}" != "0" ]; then |
|
||||
echo -e "$echoPrefix cd $codePath/wms-biz/pda-client $echoSuffix" |
|
||||
cd "$codePath/wms-biz/pda-client" |
|
||||
echo -e "$echoPrefix yarn $echoSuffix" |
|
||||
yarn |
|
||||
echo -e "$echoPrefix yarn link yvan-ext-mobile $echoSuffix" |
|
||||
yarn link yvan-ext-mobile |
|
||||
echo -e "$echoPrefix yarn build $echoSuffix" |
|
||||
yarn build |
|
||||
echo "" |
|
||||
else |
|
||||
echo "wms-biz/pda-client 文件未变化" |
|
||||
fi |
|
||||
|
|
||||
# 构建 java |
|
||||
echo -e "$echoPrefix cd $codePath $echoSuffix" |
|
||||
cd $codePath |
|
||||
echo -e "$echoPrefix gradle build -x test $echoSuffix" |
|
||||
gradle build -x test |
|
||||
echo "" |
|
||||
} |
|
||||
|
|
||||
logPath=/home/www/logs/wms8_prod/wms8_prod.log |
|
||||
dirPath=/home/www/deploy/wms8_prod/wms-biz/servo/build/libs/ |
|
||||
serverName=wms8_prod |
|
||||
|
|
||||
cmd=$1 |
|
||||
profiles=${2:-"prod-yn"} |
|
||||
|
|
||||
#------------------------------------------------------------------- |
|
||||
JAVA_MEM_OPTS=" -DappName=${serverName} -server -Xmx4g -Xms4g" |
|
||||
DATABASE_OPTS=" -Ddatabase.codeset=ISO-8859-1 -Ddatabase.logging=false" |
|
||||
JAVA_OPTS_EXT=" -Djava.awt.headless=true -Djava.net.preferIPv4Stack=true -Dapplication.codeset=UTF-8 -Dfile.encoding=UTF-8 -Duser.timezone=Asia/Shanghai" |
|
||||
#------------------------------------------------------------------- |
|
||||
|
|
||||
startServer() { |
|
||||
pid=$1 |
|
||||
if [ -z $pid ];then |
|
||||
echo -e "$echoPrefix cd $dirPath../runtime/ $echoSuffix" |
|
||||
cd $dirPath../runtime/ |
|
||||
echo -e "$echoPrefix java $JAVA_MEM_OPTS $DATABASE_OPTS $JAVA_OPTS_EXT -jar ./servo-0.0.0-SNAPSHOT.jar --spring.profiles.active=global,$profiles --server.port=18100 >>/dev/null 2>&1 & $echoSuffix" |
|
||||
java $JAVA_MEM_OPTS $DATABASE_OPTS $JAVA_OPTS_EXT -jar ./servo-0.0.0-SNAPSHOT.jar --spring.profiles.active=global,$profiles --server.port=18100 >>/dev/null 2>&1 & |
|
||||
echo "$serverName 启动成功!" |
|
||||
else |
|
||||
echo "$serverName 正在运行..." |
|
||||
fi |
|
||||
echo "查看日志: tail -F $logPath -n 100" |
|
||||
} |
|
||||
|
|
||||
stopServer() { |
|
||||
pid=$1 |
|
||||
if [ -z $pid ];then |
|
||||
echo "$serverName 未运行" |
|
||||
else |
|
||||
echo -e "$echoPrefix ps -ef | grep "DappName=${serverName}" | grep -v 'grep' | awk '{print \$2}' | xargs kill $echoSuffix" |
|
||||
ps -ef | grep "DappName=${serverName}" | grep -v 'grep' | awk '{print $2}' | xargs kill |
|
||||
echo "$serverName 已停止!" |
|
||||
fi |
|
||||
} |
|
||||
|
|
||||
deployPull() { |
|
||||
for ((idx=0; idx<${#gitUrlArr[@]}; idx++)); do |
|
||||
pullCode $codePath ${gitUrlArr[idx]} ${branchArr[idx]} ${positionArr[idx]} |
|
||||
if [ "${needBuild[idx]}" == "-1" ]; then |
|
||||
needBuild[idx]=$isChange |
|
||||
fi |
|
||||
done |
|
||||
echo "###--代码更新完成--------------------------------------------------------------------------###" |
|
||||
echo "" |
|
||||
} |
|
||||
|
|
||||
deployServer() { |
|
||||
pid=$1 |
|
||||
deployPull |
|
||||
buildCode |
|
||||
echo "###--代码构建完成--------------------------------------------------------------------------###" |
|
||||
# 重启服务 |
|
||||
if [ ! -z $pid ];then |
|
||||
stopServer $pid |
|
||||
sleep 3s |
|
||||
fi |
|
||||
# 移动编译后的文件 |
|
||||
echo -e "$echoPrefix cd $dirPath $echoSuffix" |
|
||||
cd $dirPath |
|
||||
echo -e "$echoPrefix rm -rf ../runtime $echoSuffix" |
|
||||
rm -rf ../runtime |
|
||||
echo -e "$echoPrefix cp -r ./ ../runtime $echoSuffix" |
|
||||
cp -r ./ ../runtime |
|
||||
echo "" |
|
||||
startServer |
|
||||
} |
|
||||
|
|
||||
restartServer() { |
|
||||
pid=$1 |
|
||||
if [ ! -z $pid ];then |
|
||||
stopServer $pid |
|
||||
sleep 3s |
|
||||
fi |
|
||||
startServer |
|
||||
} |
|
||||
|
|
||||
logs() { |
|
||||
tail -F $logPath -n 100 |
|
||||
} |
|
||||
|
|
||||
pid=`ps -ef | grep "DappName=${serverName}" | grep -v 'grep' | awk '{print $2}'` |
|
||||
# 操作参数: pull deploy restart start stop kill log logs |
|
||||
if [ "$cmd" == "pull" ];then |
|
||||
deployPull |
|
||||
if [ -z $pid ];then |
|
||||
echo "$serverName 未运行 | 输入操作参数: pull deploy restart start stop kill log logs" |
|
||||
fi |
|
||||
elif [ "$cmd" == "deploy" ];then |
|
||||
deployServer $pid |
|
||||
elif [ "$cmd" == "restart" ];then |
|
||||
restartServer $pid |
|
||||
elif [ "$cmd" == "start" ];then |
|
||||
startServer $pid |
|
||||
elif [ "$cmd" == "stop" ] || [ "$cmd" == "kill" ];then |
|
||||
stopServer $pid |
|
||||
elif [ "$cmd" == "log" ] || [ "$cmd" == "logs" ];then |
|
||||
logs |
|
||||
else |
|
||||
if [ -z $pid ];then |
|
||||
echo "$serverName 未运行 | 输入操作参数: pull deploy restart start stop kill log logs" |
|
||||
else |
|
||||
echo "输入操作参数: pull deploy restart start stop kill log logs" |
|
||||
echo "pid=$pid | $serverName 正在运行... | 查看日志: tail -F $logPath -n 100" |
|
||||
fi |
|
||||
fi |
|
||||
|
|
||||
# bash <(curl -s http://git.yvanui.com/lizhiwei/jztd-deploy/raw/master/yxt-yn/prod-deploy-wms8.sh) [cmd profiles] |
|
||||
Loading…
Reference in new issue