#!/bin/bash ######################################################################### # File Name: hotfix.sh # Created on: 2019-07-15 16:31:18 # Author: Wu Kang # Last Modified: 2021-09-02 19:09:43 # Description: ######################################################################### branch=$1 package=$2 packages=${package}.tar.gz usage(){ echo -e "\033[32mUsage: $0 {branch}\033[0m" echo "branch has { master | online1.0 | project0.9 | project0.92}" exit 7; } if [ ! $branch ];then usage fi BASE_DIR=/data/update/project/${branch} echo "${BASE_DIR}" if [ ! -d $BASE_DIR ];then echo -e "\033[31myour input branch not exist\033[0m" echo -e "\033[31mplease check your input branch!!!\033[0m" echo -e "\033[31mgood bye...\033[0m" exit 7 fi cd ${BASE_DIR}/miduo_server git branch git pull #校验文件 /data/update/script/check_json.py ${BASE_DIR}/miduo_server/conf/hotfix.json || exit /data/update/script/check_json.py ${BASE_DIR}/miduo_server/conf/c_database_version.json || exit cd ${BASE_DIR}/miduo_protocol git branch git pull #protobuf cd ${BASE_DIR}/miduo_protocol rm -rf ./protobuf_temp mkdir ./protobuf_temp find ./protos -name "*.proto" -type f|xargs -i protoc --proto_path=./protos --java_out=./protobuf_temp {} rm -rf ${BASE_DIR}/miduo_server/gamecommon/src/main/java/rpc/global/* rm -rf ${BASE_DIR}/miduo_server/gamecommon/src/main/java/rpc/protocols/* rm -rf ${BASE_DIR}/miduo_server/gamecommon/src/main/java/rpc/world/* yes|cp -r ./protobuf_temp/rpc/global ${BASE_DIR}/miduo_server/gamecommon/src/main/java/rpc/global yes|cp -r ./protobuf_temp/rpc/protocols ${BASE_DIR}/miduo_server/gamecommon/src/main/java/rpc/protocols yes|cp -r ./protobuf_temp/rpc/world ${BASE_DIR}/miduo_server/gamecommon/src/main/java/rpc/world #gradlew build cd ${BASE_DIR}/miduo_server echo "gradlew clean..." ./gradlew clean echo "gradlew build..." ./gradlew build if [ $? != '0' ];then echo "build error... please check your code !!!" exit 7 fi #生成jar echo "gradlew jar..." ./gradlew jar echo "gradlew copyJars..." ./gradlew copyJars cd ${BASE_DIR}/data_excel svn up cd ${BASE_DIR}/execl_to_txt java -Dfile.encoding=UTF-8 -Djava.ext.dirs=./lib ExcelUtils #热更地址 my_dir = ${BASE_DIR}/hotfix/conf if [ ! -d "$my_dir" ]; then echo "创建文件夹" mkdir -p ${my_dir}/server mkdir -p ${my_dir}/hotswap fi rm -rf ${BASE_DIR}/hotfix/conf/*.json yes|cp -r ${BASE_DIR}/miduo_server/conf/c_database_version.json ${BASE_DIR}/hotfix/conf yes|cp -r ${BASE_DIR}/miduo_server/conf/hotfix.json ${BASE_DIR}/hotfix/conf cd ${BASE_DIR} find hotfix/conf/ -type f -name "*.txt"|egrep -v "c_database_version|hotfix"|xargs rm -rf find hotfix/conf/ -type f -name "*.class" |xargs rm -rf cat ${BASE_DIR}/miduo_server/conf/c_database_version.json |awk -F':' '/tables/{print $2}'|tr -d '"'|tr '|' '\n'|xargs -i find ${BASE_DIR}/miduo_server/conf/server -name "{}.txt"|xargs -i cp {} ${BASE_DIR}/hotfix/conf/server cat ${BASE_DIR}/miduo_server/conf/hotfix.json |grep name|awk -F'"' '{print $4}'|xargs -i find ${BASE_DIR}/miduo_server/serverlogic/build -name "{}"|xargs -i cp {} ${BASE_DIR}/hotfix/conf/hotswap tree hotfix echo "cat miduo_server/conf/c_database_version.json" cat ${BASE_DIR}/miduo_server/conf/c_database_version.json echo "cat miduo_server/conf/hotfix.json" cat ${BASE_DIR}/miduo_server/conf/hotfix.json cd ${BASE_DIR}/hotfix tar -czvf hotfix.tar.gz ./* mv hotfix.tar.gz /data/update/package/${packages} echo "打包${packages}完成" #if [ ! -z ${ip} ];then # rsync -arpzv ./jieling ${ip}:/data/jieling2/ #fi #if [ ! -z ${ip} ];then # rsync -arpzv --exclude ".git" --exclude ".svn" --exclude ".sh" --exclude=application*.properties jieling/conf/ ${ip}:/data/${core}/conf/ # if [ $? != '0' ];then # echo "上传失败...请检查网络..." # exit 7 # fi #fi