update_script/hotfix_game.sh

133 lines
4.2 KiB
Bash
Raw Normal View History

2023-07-21 18:52:07 +08:00
#!/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
2023-07-27 14:22:26 +08:00
cd ${BASE_DIR}/miduo_server || exit
2023-07-21 18:52:07 +08:00
git branch
git pull
2023-08-01 16:20:12 +08:00
#使用前需要使用 sudo yum install jq 安装jq工具
check_json(){
path=${1}
if jq empty "${path}"; then
2023-08-14 11:11:32 +08:00
echo "${path} 文件是有效的JSON格式。"
2023-08-01 16:20:12 +08:00
else
2023-08-14 11:11:32 +08:00
echo "${path} 文件不是有效的JSON格式。"
2023-08-01 16:20:12 +08:00
exit 0
fi
}
2023-07-21 18:52:07 +08:00
#校验文件
2023-08-01 16:20:12 +08:00
check_json ${BASE_DIR}/miduo_server/conf/hotfix.json
check_json ${BASE_DIR}/miduo_server/conf/c_database_version.json
2023-07-21 18:52:07 +08:00
2023-08-14 11:10:46 +08:00
#cd ${BASE_DIR}/miduo_protocol || exit
#git branch
#git pull
##protobuf
#cd ${BASE_DIR}/miduo_protocol || exit
#rm -rf ./protobuf_temp
#mkdir ./protobuf_temp
## shellcheck disable=SC2038
#find ./protos -name "*.proto" -type f|xargs -i protoc --proto_path=./protos --java_out=./protobuf_temp {}
##find ./protos -name "*.proto" -type f -exec 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/*
#cp -rf ./protobuf_temp/rpc/global ${BASE_DIR}/miduo_server/gamecommon/src/main/java/rpc/global
#cp -rf ./protobuf_temp/rpc/protocols ${BASE_DIR}/miduo_server/gamecommon/src/main/java/rpc/protocols
#cp -rf ./protobuf_temp/rpc/world ${BASE_DIR}/miduo_server/gamecommon/src/main/java/rpc/world
2023-07-21 18:52:07 +08:00
#gradlew build
2023-07-27 14:22:26 +08:00
cd ${BASE_DIR}/miduo_server || exit
2023-07-21 18:52:07 +08:00
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
2023-07-27 14:22:26 +08:00
cd ${BASE_DIR}/data_excel || exit
2023-07-21 18:52:07 +08:00
svn up
2023-07-27 14:22:26 +08:00
cd ${BASE_DIR}/execl_to_txt || exit
2023-12-07 18:53:39 +08:00
java17 -Dfile.encoding=UTF-8 -cp .:./lib/* ExcelUtils
#java -Dfile.encoding=UTF-8 -Djava.ext.dirs=./lib ExcelUtils
2023-07-21 18:52:07 +08:00
#热更地址
2023-07-27 14:22:26 +08:00
my_dir=${BASE_DIR}/hotfix/conf
2023-07-21 18:52:07 +08:00
if [ ! -d "$my_dir" ]; then
2023-08-14 11:10:46 +08:00
echo "创建文件夹"
mkdir -p ${my_dir}/server
mkdir -p ${my_dir}/hotswap
2023-07-21 18:52:07 +08:00
fi
rm -rf ${BASE_DIR}/hotfix/conf/*.json
2023-07-27 14:29:05 +08:00
cp -rf ${BASE_DIR}/miduo_server/conf/c_database_version.json ${BASE_DIR}/hotfix/conf
cp -rf ${BASE_DIR}/miduo_server/conf/hotfix.json ${BASE_DIR}/hotfix/conf
2023-07-21 18:52:07 +08:00
2023-07-27 14:15:48 +08:00
cd ${BASE_DIR} || exit
2023-08-14 11:10:46 +08:00
find hotfix/conf/ -type f -name "*.txt" -delete
2023-07-27 14:29:05 +08:00
#find hotfix/conf/ -type f -name "*.class" | xargs rm -rf
find hotfix/conf/ -type f -name "*.class" -delete
2023-07-21 18:52:07 +08:00
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
2023-09-11 16:34:52 +08:00
echo -e "cat miduo_server/conf/c_database_version.json \n"
2023-07-21 18:52:07 +08:00
cat ${BASE_DIR}/miduo_server/conf/c_database_version.json
2023-09-11 16:34:52 +08:00
echo -e "\n cat miduo_server/conf/hotfix.json \n"
2023-07-21 18:52:07 +08:00
cat ${BASE_DIR}/miduo_server/conf/hotfix.json
2023-09-11 16:33:59 +08:00
echo -e "\n"
2023-07-21 18:52:07 +08:00
2023-07-27 14:15:48 +08:00
cd ${BASE_DIR}/hotfix || exit
2023-07-21 18:52:07 +08:00
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