132 lines
4.2 KiB
Bash
132 lines
4.2 KiB
Bash
#!/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 || exit
|
|
git branch
|
|
git pull
|
|
|
|
#使用前需要使用 sudo yum install jq 安装jq工具
|
|
check_json(){
|
|
path=${1}
|
|
if jq empty "${path}"; then
|
|
echo "${path} 文件是有效的JSON格式。"
|
|
else
|
|
echo "${path} 文件不是有效的JSON格式。"
|
|
exit 0
|
|
fi
|
|
}
|
|
|
|
#校验文件
|
|
check_json ${BASE_DIR}/miduo_server/conf/hotfix.json
|
|
check_json ${BASE_DIR}/miduo_server/conf/c_database_version.json
|
|
|
|
#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
|
|
|
|
|
|
#gradlew build
|
|
cd ${BASE_DIR}/miduo_server || exit
|
|
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 || exit
|
|
svn up
|
|
cd ${BASE_DIR}/execl_to_txt || exit
|
|
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
|
|
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
|
|
|
|
cd ${BASE_DIR} || exit
|
|
find hotfix/conf/ -type f -name "*.txt" -delete
|
|
#find hotfix/conf/ -type f -name "*.class" | xargs rm -rf
|
|
find hotfix/conf/ -type f -name "*.class" -delete
|
|
|
|
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 -e "cat miduo_server/conf/c_database_version.json \n"
|
|
cat ${BASE_DIR}/miduo_server/conf/c_database_version.json
|
|
echo -e "\n cat miduo_server/conf/hotfix.json \n"
|
|
cat ${BASE_DIR}/miduo_server/conf/hotfix.json
|
|
echo -e "\n"
|
|
|
|
cd ${BASE_DIR}/hotfix || exit
|
|
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
|