|
|
|
@ -2,9 +2,150 @@ |
|
|
|
#set -x |
|
|
|
set -e |
|
|
|
|
|
|
|
codePath=/home/www/deploy/wms8_prod_ynhy |
|
|
|
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=/data/logs/wms8_prod_ynhy/wms8_prod_ynhy.log |
|
|
|
dirPath=/home/www/deploy/wms8_prod_ynhy/wms-biz/servo/build/libs/ |
|
|
|
serverName=wms8_hy_prod |
|
|
|
@ -24,7 +165,7 @@ startServer() { |
|
|
|
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=18300 >>/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=18300 >>/dev/null 2>&1 & |
|
|
|
java $JAVA_MEM_OPTS $DATABASE_OPTS $JAVA_OPTS_EXT -jar ./servo-0.0.0-SNAPSHOT.jar --spring.profiles.active=global,$profiles --server.port=18300 >>/dev/null 2>&1 & |
|
|
|
echo "$serverName 启动成功!" |
|
|
|
else |
|
|
|
echo "$serverName 正在运行..." |
|
|
|
@ -38,18 +179,31 @@ stopServer() { |
|
|
|
echo "$serverName 未运行" |
|
|
|
else |
|
|
|
echo -e "$echoPrefix ps -ef | grep "DappName=${serverName}" | grep -v 'grep' | awk '{print \$2}' | xargs kill $echoSuffix" |
|
|
|
pgrep -f "DappName=${serverName}" | xargs kill |
|
|
|
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 |
|
|
|
# 设置 require_config.js 前端版本 |
|
|
|
version=$(date +_%Y_%m_%d_%H_%M_%S) |
|
|
|
echo -e "$echoPrefix sed -i 's/_[0-9]\{4\}_[0-9]\{2\}_[0-9]\{2\}_[0-9]\{2\}_[0-9]\{2\}_[0-9]\{2\}/$version/g' $codePath/public/require_config.js $echoSuffix" |
|
|
|
sed -i "s/_[0-9]\{4\}_[0-9]\{2\}_[0-9]\{2\}_[0-9]\{2\}_[0-9]\{2\}_[0-9]\{2\}/$version/g" $codePath/public/require_config.js |
|
|
|
echo "###--代码更新完成--------------------------------------------------------------------------###" |
|
|
|
echo "" |
|
|
|
} |
|
|
|
|
|
|
|
deployServer() { |
|
|
|
pid=$1 |
|
|
|
# 检查 master 节点 |
|
|
|
if [ ! -d "$dirPath../runtime" ]; then |
|
|
|
echo -e "$echoPrefix 检查master节点是否部署了: $dirPath../runtime $echoSuffix" |
|
|
|
exit |
|
|
|
fi |
|
|
|
deployPull |
|
|
|
buildCode |
|
|
|
echo "###--代码构建完成--------------------------------------------------------------------------###" |
|
|
|
# 重启服务 |
|
|
|
if [ ! -z $pid ];then |
|
|
|
stopServer $pid |
|
|
|
@ -80,8 +234,13 @@ logs() { |
|
|
|
} |
|
|
|
|
|
|
|
pid=`ps -ef | grep "DappName=${serverName}" | grep -v 'grep' | awk '{print $2}'` |
|
|
|
# 操作参数: deploy restart start stop kill log logs |
|
|
|
if [ "$cmd" == "deploy" ];then |
|
|
|
# 操作参数: 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 |
|
|
|
@ -93,9 +252,9 @@ elif [ "$cmd" == "log" ] || [ "$cmd" == "logs" ];then |
|
|
|
logs |
|
|
|
else |
|
|
|
if [ -z $pid ];then |
|
|
|
echo "$serverName 未运行 | 输入操作参数: deploy restart start stop kill log logs" |
|
|
|
echo "$serverName 未运行 | 输入操作参数: pull deploy restart start stop kill log logs" |
|
|
|
else |
|
|
|
echo "输入操作参数: deploy restart start stop kill log logs" |
|
|
|
echo "输入操作参数: pull deploy restart start stop kill log logs" |
|
|
|
echo "pid=$pid | $serverName 正在运行... | 查看日志: tail -F $logPath -n 100" |
|
|
|
fi |
|
|
|
fi |
|
|
|
|