##!/bin/bash ##set -x #set -e # #codePath=/home/www/deploy/wms8_test_pgsql #gitUrlArr=( # "http://git.galaxis.yvanui.com/wms8/wms8-bench.git" # "http://git.yvanui.com/lizhiwei/yvan-framework.git" # "http://git.galaxis.yvanui.com/wms8/wms-core.git" #) # #branchArr=( # "pgsql" # "master" # "pgsql" #) #positionArr=( # "." # "yvan-framework" # "wms-core" #) ## 是否需要构建,-1:自动;0:不需要;1:需要 #needBuild=( #"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() { # # 构建 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_test_pgsql/wms8_test_pgsql.log #dirPath=/home/www/deploy/wms8_test_pgsql/wms-biz/servo/build/libs/ #serverName=wms8_test_pgsql # #cmd=$1 #profiles=${2:-"pg-yn-test"} # ##------------------------------------------------------------------- #JAVA_MEM_OPTS=" -DappName=${serverName} -server -Xmx2g -Xms2g" #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 -Duser.name=user" ##------------------------------------------------------------------- # #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=18095 >>/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=18095 >>/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 # # 设置 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 # 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 #} # #deployYvanUI() { # bash <(curl -s http://git.yvanui.com/lizhiwei/jztd-deploy/raw/master/00base/01yvan-ext.sh) pull # bash <(curl -s http://git.yvanui.com/lizhiwei/jztd-deploy/raw/master/00base/02yvan-ext-mobile.sh) pull #} # #pid=`ps -ef | grep "DappName=${serverName}" | grep -v 'grep' | awk '{print $2}'` ## 操作参数: pull deploy restart start stop kill log logs #if [ "$cmd" == "pull" ];then # deployYvanUI # deployPull # if [ -z $pid ];then # echo "$serverName 未运行 | 输入操作参数: pull deploy restart start stop kill log logs" # fi #elif [ "$cmd" == "deploy" ];then # deployYvanUI # 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 # ## 一心堂pgsql wms ## bash <(curl -s http://git.yvanui.com/lizhiwei/jztd-deploy/raw/master/yxt-pg-test/test-deploy-wms8-pgsql.sh) [cmd profiles]