rebar3 服务器
This commit is contained in:
@@ -0,0 +1,517 @@
|
||||
#! /bin/bash
|
||||
|
||||
ROOT=`cd $(dirname $0);pwd`
|
||||
if [ -d ${ROOT} ]; then
|
||||
cd ${ROOT}
|
||||
fi
|
||||
|
||||
ARGS=""
|
||||
|
||||
## 项目组自定义路径
|
||||
# ====================================================================================
|
||||
|
||||
# 服务器svn根目录
|
||||
SVN_BASE_URL=http://gwsj.4399svn.com/svn/ddt/project4
|
||||
# 发版根目录 运维的目录规范 /data/xxx/server
|
||||
PUB_ROOT=/data/ddxq/server
|
||||
# 发版脚本 运维的规范 xxxpub
|
||||
PUB_CMD=ddxqpub
|
||||
|
||||
# DEV BETA STABLE 这三个目录的代码对应运维给的三个发版目录
|
||||
# 假设DEV对应主干的代码目录 比如主干代码是 ${SVN_BASE_URL}/trunk, 这里就填DEV=trunk
|
||||
DEV=trunk
|
||||
BETA=branches/cn/stage1
|
||||
STABLE=stable
|
||||
BANSHU=branches/banshu
|
||||
|
||||
# svn账号密码
|
||||
USER=shouyouyizu
|
||||
PASSWORD=39420981
|
||||
|
||||
# 代码checkout的临时目录,编译用
|
||||
TMP_SOURCE=/data/tmp_server/ddxq
|
||||
|
||||
# 内网部署路径
|
||||
SERVER_DIR=/data/server/ddxq
|
||||
|
||||
# 内网主干登录服目录(内网重启和热更时指定的登录服)
|
||||
LOGIN_SERVER=login_server_s900
|
||||
|
||||
# 内网主干游戏服目录(内网重启和热更时指定的游戏服)
|
||||
GAME_SERVER=game_server_s901
|
||||
|
||||
# 内网版署登录服目录(内网重启和热更时指定的登录服)
|
||||
BS_LOGIN_SERVER=login_server_s700
|
||||
|
||||
# 内网版署游戏服目录(内网重启和热更时指定的游戏服)
|
||||
BS_GAME_SERVER=game_server_s701
|
||||
|
||||
# ====================================================================================
|
||||
|
||||
PLAT=android_cn
|
||||
PUSH_LANG=CN
|
||||
REBAR=rebar3
|
||||
|
||||
error() {
|
||||
NOW_TIME=
|
||||
echo -e "[错误] $(date '+%Y-%m-%d %H:%M:%S') $@"
|
||||
}
|
||||
|
||||
# 打印警告
|
||||
warn() {
|
||||
echo -e "[警告] $(date '+%Y-%m-%d %H:%M:%S') $@"
|
||||
}
|
||||
|
||||
# 打印信息
|
||||
opt() {
|
||||
echo -e "[操作] $(date '+%Y-%m-%d %H:%M:%S') $@"
|
||||
}
|
||||
|
||||
cmd() {
|
||||
echo -e "[指令] $(date '+%Y-%m-%d %H:%M:%S') $@"
|
||||
}
|
||||
|
||||
exit1() {
|
||||
lock_release
|
||||
exit 1
|
||||
}
|
||||
|
||||
|
||||
# 检查锁
|
||||
lock_check(){
|
||||
local task=$1
|
||||
lock=/tmp/server_shell.lock
|
||||
if [ -f $lock ]; then
|
||||
error "正在执行其他任务..., 如确认没有其他任务在执行,请删除文件${lock}"
|
||||
exit 1
|
||||
fi
|
||||
touch $lock # 加锁
|
||||
echo $task > $lock
|
||||
}
|
||||
|
||||
# 解锁
|
||||
lock_release(){
|
||||
local task=$1
|
||||
lock=/tmp/server_shell.lock
|
||||
rm -f $lock
|
||||
}
|
||||
|
||||
|
||||
|
||||
# 使用说明
|
||||
Usage ()
|
||||
{
|
||||
echo "说明:"
|
||||
echo "当前路径:${ROOT}"
|
||||
echo "用法:"
|
||||
echo "动作 [选项]"
|
||||
echo "动作:"
|
||||
echo " reboot 重新部署,重启内网测试服"
|
||||
echo " reload 热更内网测试服"
|
||||
echo " pub_rel 发布全量包"
|
||||
echo " pub_up 发布升级包"
|
||||
echo ""
|
||||
echo "选项:"
|
||||
echo " -h, --help 显示本信息"
|
||||
echo " -v, --ver dev|beta|stable 推送的版本"
|
||||
echo " -p, --plat android_cn|ios_cn|mix_cn 推送的平台"
|
||||
echo " -l, --lang CN 推送的语言"
|
||||
echo " -s, --server game_server|login_server|detour_server|cross_server|center_server 推送的服务器类型"
|
||||
|
||||
echo ""
|
||||
}
|
||||
|
||||
##从svn下载对应的代码,并设置当前版本号
|
||||
SvnUpdate ()
|
||||
{
|
||||
if [ -d ${TMP_SOURCE} ]; then
|
||||
opt "${TMP_SOURCE} 目录已存在,svn update"
|
||||
cmd "========= svn up --force --accept tc ${TMP_SOURCE} --username ${USER} --password ${PASSWORD} ========="
|
||||
svn up --force --accept tc ${TMP_SOURCE} --username ${USER} --password ${PASSWORD}
|
||||
else
|
||||
opt "${TMP_SOURCE} 目录不存在,创建并svn checkout"
|
||||
cmd "========= svn co ${SVN_BASE_URL} ${TMP_SOURCE} --username ${USER} --password ${PASSWORD} ========="
|
||||
mkdir -p ${TMP_SOURCE}
|
||||
svn co ${SVN_BASE_URL} ${TMP_SOURCE} --username ${USER} --password ${PASSWORD}
|
||||
fi
|
||||
|
||||
cd ${ROOT}
|
||||
}
|
||||
|
||||
## 生成全量包
|
||||
Release ()
|
||||
{
|
||||
if [ ! -d ${PUB_ROOT} ]; then
|
||||
mkdir -p ${PUB_ROOT}
|
||||
fi
|
||||
|
||||
LAST_VERSION=`svn info ${TMP_SOURCE} | grep 'Last Changed Rev: ' | cut -d' ' -f4`
|
||||
if [ "${REL_VERSION}" = "" ] || [ "${REL_VERSION}" = "0" ]; then
|
||||
REL_VERSION=${LAST_VERSION}
|
||||
fi
|
||||
|
||||
opt "========= LAST_VERSION=${LAST_VERSION}, REL_VERSION=${REL_VERSION} ========="
|
||||
|
||||
PRJ=${TMP_SOURCE}/_build/${SERVER_TYPE}/rel/${SERVER_TYPE}
|
||||
REL_PACKET=${PRJ}/${SERVER_TYPE}-${REL_VERSION}.tar.gz
|
||||
|
||||
if [ -f ${REL_PACKET} ]; then
|
||||
opt "========= Release package for version ${REL_VERSION} already exists ========="
|
||||
else
|
||||
# # 删除旧包,因为如果是升级包,里面没有自带erts
|
||||
# cmd "========= remove old packet: rm -rf ${REL_PACKET} ========="
|
||||
# rm -rf ${REL_PACKET}
|
||||
#
|
||||
# 删除旧的rebar3执行脚本,一个版本一个脚本可能是为了启动不同版本设置,但我们用不上先删了
|
||||
cmd "========= remove old packet: rm -rf ${PRJ}/bin/game_server-* ========="
|
||||
rm -rf ${PRJ}/bin/${SERVER_TYPE}-*
|
||||
|
||||
cd ${TMP_SOURCE} || exit1
|
||||
opt "========= Generating release package for version ${REL_VERSION} ========="
|
||||
cmd "========= ${REBAR} as ${SERVER_TYPE} release ========="
|
||||
${REBAR} as ${SERVER_TYPE} release || exit1
|
||||
cmd "========= ${REBAR} as ${SERVER_TYPE} tar ========="
|
||||
${REBAR} as ${SERVER_TYPE} tar || exit1
|
||||
|
||||
#保留最后10个(即第11个开始删除),太多的话会影响打升级包,占用大量内存和打包时间
|
||||
# cmd "========= ls ${PRJ}/releases | grep -v RELEASES | grep -v "start_erl.data" | sort -rg | tail -n +11 | xargs rm -rf ========="
|
||||
# ls ${PRJ}/releases | grep -v RELEASES | grep -v "start_erl.data" | sort -rg | tail -n +11 | xargs rm -rf
|
||||
#保留最后10个包,太多的话会影响打升级包,占用大量内存和打包时间
|
||||
# cmd "========= ls ${PRJ} | grep game_server- | sort -rg | tail -n +11 | xargs rm -rf ========="
|
||||
# ls ${PRJ} | grep game_server- | sort -rg | tail -n +11 | xargs rm -rf
|
||||
|
||||
# 删除旧发版包内容
|
||||
cmd "========= rm -rf ${PUB_ROOT}/* ========="
|
||||
rm -rf ${PUB_ROOT}/*
|
||||
fi
|
||||
|
||||
cmd "========= tar -zxf ${REL_PACKET} -C ${PUB_ROOT} ========="
|
||||
tar -zxf ${REL_PACKET} -C ${PUB_ROOT} || exit1
|
||||
|
||||
# 删除bin下多余的文件,暂时先用手动删除,后面再研究能否用命令来删除
|
||||
cmd "========= rm -rf ${PUB_ROOT}/bin/${SERVER_TYPE}-* ========="
|
||||
rm -rf ${PUB_ROOT}/bin/${SERVER_TYPE}-*
|
||||
|
||||
cd ${ROOT}
|
||||
}
|
||||
|
||||
Update ()
|
||||
{
|
||||
if [ ! -d ${PUB_ROOT} ]; then
|
||||
opt "${PUB_ROOT} Not exists"
|
||||
exit1
|
||||
fi
|
||||
|
||||
PRJ=${TMP_SOURCE}/_build/${SERVER_TYPE}/rel/${SERVER_TYPE}
|
||||
|
||||
# LAST_VERSION=`ls ${PRJ}/releases | grep -v RELEASES | grep -v "start_erl.data" | sort -rg | head -1`
|
||||
LAST_VERSION=`ls ${PRJ} | grep "game_server-" | sort -rg | head -1 | tr -cd "[0-9]"`
|
||||
|
||||
if [ "${PREV_REL_REV}" = "" ] || [ "${PREV_REL_REV}" = "0" ]; then
|
||||
PREV_REL_REV=${LAST_VERSION}
|
||||
fi
|
||||
|
||||
opt "========= LAST_VERSION=${LAST_VERSION}, PREV_REL_REV=${PREV_REL_REV} ========="
|
||||
|
||||
REL_VERSION=`svn info ${TMP_SOURCE} | grep 'Last Changed Rev: ' | cut -d' ' -f4`
|
||||
|
||||
# 没有新版本可以升级
|
||||
if [ ${PREV_REL_REV} = ${REL_VERSION} ]; then
|
||||
opt "Is latest version, do not need upgrade ..."
|
||||
exit1
|
||||
fi
|
||||
|
||||
|
||||
|
||||
if [ -z ${PREV_REL_REV} ]; then
|
||||
opt "No previous release ${PREV_REL_REV}, skip update package generation...."
|
||||
exit1
|
||||
else
|
||||
# 删除旧包,有可能是其他版本升级到该版本的包
|
||||
cmd "========= remove old packet: rm -rf ${PRJ}/${SERVER_TYPE}-${REL_VERSION}.tar.gz ========="
|
||||
rm -rf ${PRJ}/${SERVER_TYPE}-${REL_VERSION}.tar.gz
|
||||
|
||||
# 删除旧的rebar3执行脚本,一个版本一个脚本可能是为了启动不同版本设置,但我们用不上先删了
|
||||
cmd "========= remove old packet: rm -rf ${PRJ}/bin/${SERVER_TYPE}-* ========="
|
||||
rm -rf ${PRJ}/bin/${SERVER_TYPE}-*
|
||||
|
||||
cmd "========= cd ${TMP_SOURCE} ========="
|
||||
cd ${TMP_SOURCE} || exit1
|
||||
|
||||
opt "========= Generating update package for previous version ${PREV_REL_REV} ========="
|
||||
# 如果版本已经存在,则可能两次升级包基于的版本不同,需要先清理上次版本升级的信息
|
||||
if [ ${LAST_VERSION} = ${REL_VERSION} ]; then
|
||||
cmd "========= ${REBAR} as ${SERVER_TYPE} appup clean ========="
|
||||
${REBAR} as ${SERVER_TYPE} appup clean || exit1
|
||||
fi
|
||||
cmd "========= ${REBAR} as ${SERVER_TYPE} release ========="
|
||||
${REBAR} as ${SERVER_TYPE} release || exit1
|
||||
cmd "========= ${REBAR} as ${SERVER_TYPE} appup generate --previous_version=${PREV_REL_REV} ========="
|
||||
${REBAR} as ${SERVER_TYPE} appup generate --previous_version=${PREV_REL_REV} || exit1
|
||||
cmd "========= ${REBAR} as ${SERVER_TYPE} relup --upfrom=${PREV_REL_REV} --relname=${SERVER_TYPE} --relvsn=${REL_VERSION} ========="
|
||||
${REBAR} as ${SERVER_TYPE} relup --upfrom=${PREV_REL_REV} --relname=${SERVER_TYPE} --relvsn=${REL_VERSION} || exit1
|
||||
cmd "========= ${REBAR} as ${SERVER_TYPE} tar ========="
|
||||
${REBAR} as ${SERVER_TYPE} tar || exit1
|
||||
fi
|
||||
|
||||
cmd "========= cp -f ${PRJ}/${SERVER_TYPE}-${REL_VERSION}.tar.gz ${PUB_ROOT}/releases/ ========="
|
||||
cp -f ${PRJ}/${SERVER_TYPE}-${REL_VERSION}.tar.gz ${PUB_ROOT}/releases/
|
||||
|
||||
#保留最后10个包信息,太多的话会影响打升级包,占用大量内存和打包时间
|
||||
# cmd "========= ls ${PRJ}/releases | grep -v RELEASES | grep -v "start_erl.data" | sort -rg | tail -n +11 | xargs rm -rf ========="
|
||||
# ls ${PRJ}/releases | grep -v RELEASES | grep -v "start_erl.data" | sort -rg | tail -n +11 | xargs rm -rf
|
||||
#保留最后10个包,太多的话会影响打升级包,占用大量内存和打包时间
|
||||
# cmd "========= ls ${PRJ} | grep game_server- | sort -rg | tail -n +11 | xargs rm -rf ========="
|
||||
# ls ${PRJ} | grep game_server- | sort -rg | tail -n +11 | xargs rm -rf
|
||||
|
||||
cd ${ROOT}
|
||||
}
|
||||
|
||||
# 发版全量包
|
||||
PubRelease()
|
||||
{
|
||||
opt "推送${VER}版本${SERVER_TYPE}全量包到外网"
|
||||
|
||||
SvnUpdate
|
||||
|
||||
Release
|
||||
|
||||
if [ $? -ne 0 ]; then
|
||||
error "生成全量压缩包失败,请检查"
|
||||
exit1
|
||||
fi
|
||||
|
||||
cd ${ROOT}
|
||||
|
||||
opt "更新完成,立刻发版${PUBNOW}"
|
||||
|
||||
#版署服也放在beta版本中
|
||||
if [ ${VER} = 'banshu' ]; then
|
||||
cmd "========= sh ${PUB_CMD} server ${PUSH_LANG} beta ${PLAT} ========="
|
||||
sh ${PUB_CMD} server ${PUSH_LANG} beta ${PLAT}
|
||||
else
|
||||
cmd "========= sh ${PUB_CMD} server ${PUSH_LANG} ${VER} ${PLAT} ========="
|
||||
sh ${PUB_CMD} server ${PUSH_LANG} ${VER} ${PLAT}
|
||||
fi
|
||||
}
|
||||
|
||||
# 发版全量包
|
||||
PubUpdate()
|
||||
{
|
||||
opt "推送${VER}版本${SERVER_TYPE}升级包到外网"
|
||||
|
||||
SvnUpdate
|
||||
|
||||
Update
|
||||
|
||||
if [ $? -ne 0 ]; then
|
||||
error "生成升级压缩包失败,请检查"
|
||||
exit1
|
||||
fi
|
||||
|
||||
cd ${ROOT}
|
||||
|
||||
opt "更新完成,立刻发版${PUBNOW}"
|
||||
|
||||
#版署服也放在beta版本中
|
||||
if [ ${VER} = 'banshu' ]; then
|
||||
cmd "========= sh ${PUB_CMD} server ${PUSH_LANG} beta ${PLAT} ========="
|
||||
sh ${PUB_CMD} server ${PUSH_LANG} beta ${PLAT}
|
||||
else
|
||||
cmd "========= sh ${PUB_CMD} server ${PUSH_LANG} ${VER} ${PLAT} ========="
|
||||
sh ${PUB_CMD} server ${PUSH_LANG} ${VER} ${PLAT}
|
||||
fi
|
||||
}
|
||||
|
||||
Reboot(){
|
||||
opt "更新重启${VER}版本${SERVER_TYPE}"
|
||||
|
||||
if [ ${SERVER_TYPE} = 'login_server' ]; then
|
||||
BIN_DIR=${SERVER_DIR}/${LOGIN_SERVER}/bin
|
||||
PUB_ROOT=${SERVER_DIR}/${LOGIN_SERVER}
|
||||
CONFIG_DIR=${SERVER_DIR}/config/${LOGIN_SERVER}
|
||||
elif [ ${SERVER_TYPE} = 'game_server' ]; then
|
||||
BIN_DIR=${SERVER_DIR}/${GAME_SERVER}/bin
|
||||
PUB_ROOT=${SERVER_DIR}/${GAME_SERVER}
|
||||
CONFIG_DIR=${SERVER_DIR}/config/${GAME_SERVER}
|
||||
else
|
||||
Usage
|
||||
error "${SERVER_TYPE}不是有效的服务器类型"
|
||||
exit1
|
||||
fi
|
||||
|
||||
SvnUpdate
|
||||
|
||||
cmd "========= sh ${BIN_DIR}/${SERVER_TYPE} stop ========="
|
||||
sh ${BIN_DIR}/${SERVER_TYPE} stop
|
||||
#要先检查是否运行中
|
||||
# if [ $? -ne 0 ]; then
|
||||
# error "关闭服务器失败,请检查"
|
||||
# exit1
|
||||
# fi
|
||||
|
||||
cmd "========= rm -rf ${PUB_ROOT}_old ========="
|
||||
rm -rf ${PUB_ROOT}_old
|
||||
cmd "========= rm -rf ${PUB_ROOT}/*.dump ========="
|
||||
rm -rf ${PUB_ROOT}/*.dump
|
||||
cmd "========= mv ${PUB_ROOT} ${PUB_ROOT}_old ========="
|
||||
mv ${PUB_ROOT} ${PUB_ROOT}_old
|
||||
|
||||
Release
|
||||
|
||||
if [ $? -ne 0 ]; then
|
||||
error "指定版本服代码编译失败,请检查"
|
||||
exit1
|
||||
fi
|
||||
|
||||
cmd "========= rm -rf ${PUB_ROOT}/sys.config ========="
|
||||
rm -rf ${PUB_ROOT}/sys.config
|
||||
cmd "========= cp ${CONFIG_DIR}/sys.config ${PUB_ROOT}/sys.config ========="
|
||||
cp ${CONFIG_DIR}/sys.config ${PUB_ROOT}/sys.config
|
||||
|
||||
cmd "========= rm -rf ${PUB_ROOT}/vm.args ========="
|
||||
rm -rf ${PUB_ROOT}/vm.args
|
||||
cmd "========= cp ${CONFIG_DIR}/vm.args ${PUB_ROOT}/vm.args ========="
|
||||
cp ${CONFIG_DIR}/vm.args ${PUB_ROOT}/vm.args
|
||||
|
||||
cmd "========= sh ${BIN_DIR}/${SERVER_TYPE} daemon ========="
|
||||
sh ${BIN_DIR}/${SERVER_TYPE} daemon
|
||||
if [ $? -ne 0 ]; then
|
||||
error "启动服务器失败,请检查"
|
||||
exit1
|
||||
fi
|
||||
|
||||
opt "重启服务器成功......"
|
||||
|
||||
cd ${ROOT}
|
||||
|
||||
}
|
||||
|
||||
Reload(){
|
||||
opt "热更${VER}版本${SERVER_TYPE}"
|
||||
|
||||
if [ ${SERVER_TYPE} = 'login_server' ]; then
|
||||
BIN_DIR=${SERVER_DIR}/${LOGIN_SERVER}/bin
|
||||
PUB_ROOT=${SERVER_DIR}/${LOGIN_SERVER}
|
||||
elif [ ${SERVER_TYPE} = 'game_server' ]; then
|
||||
BIN_DIR=${SERVER_DIR}/${GAME_SERVER}/bin
|
||||
PUB_ROOT=${SERVER_DIR}/${GAME_SERVER}
|
||||
else
|
||||
Usage
|
||||
error "${SERVER_TYPE}不是有效的服务器类型"
|
||||
exit1
|
||||
fi
|
||||
|
||||
SvnUpdate
|
||||
|
||||
PREV_REL_REV=`ls ${PUB_ROOT}/releases | grep -v RELEASES | grep -v "start_erl.data" | sort -rg | head -1`
|
||||
REL_VERSION=`svn info ${TMP_SOURCE} | grep 'Last Changed Rev: ' | cut -d' ' -f4`
|
||||
|
||||
if [ ${PREV_REL_REV} = ${REL_VERSION} ]; then
|
||||
opt "运行的代码已经是最新版本,无需热更...."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
Update
|
||||
|
||||
if [ $? -ne 0 ]; then
|
||||
error "生成升级压缩包失败,请检查"
|
||||
exit1
|
||||
fi
|
||||
|
||||
sh ${BIN_DIR}/${SERVER_TYPE} upgrade ${REL_VERSION}
|
||||
if [ $? -ne 0 ]; then
|
||||
error "热更服务器失败,请检查"
|
||||
exit1
|
||||
fi
|
||||
|
||||
opt "热更服务器成功......"
|
||||
|
||||
}
|
||||
|
||||
IsRun(){
|
||||
RUN_PROC_CNT=`ps -ef | grep server.sh | grep -v grep | grep -v vi | wc -l`
|
||||
if [ ${RUN_PROC_CNT} -gt 2 ]; then
|
||||
opt "run proc cnt = ${RUN_PROC_CNT}"
|
||||
error "其他人正在运行中"
|
||||
exit1
|
||||
fi
|
||||
}
|
||||
|
||||
#RUN_PROC_CNT=`ps -ef | grep -v grep | grep server.sh | wc -l`
|
||||
#opt "run proc cnt = ${RUN_PROC_CNT}"
|
||||
#if [ ${RUN_PROC_CNT} -gt 2 ]; then
|
||||
# error "其他人正在运行中"
|
||||
# exit1
|
||||
#fi
|
||||
|
||||
lock_check
|
||||
|
||||
# parse command line parameters
|
||||
while [ $# -ne 0 ] ; do
|
||||
PARAM=$1
|
||||
shift
|
||||
case $PARAM in
|
||||
--) break ;;
|
||||
--help|-h) Usage; exit 0 ;;
|
||||
--server|-s) SERVER_TYPE=$1; shift ;;
|
||||
--ver|-v) VER=$1; shift ;;
|
||||
--plat|-p) PLAT=$1; shift ;;
|
||||
--lang|-l) PUSH_LANG=$1; shift ;;
|
||||
--pre_version|-pv) PREV_REL_REV=$1; shift ;;
|
||||
--release_version|-rv) REL_VERSION=$1; shift ;;
|
||||
*) ARGS="$ARGS $PARAM" ;;
|
||||
esac
|
||||
done
|
||||
|
||||
if [ "${SERVER_TYPE}" = "" ]; then
|
||||
Usage
|
||||
error "需要指定-s 参数"
|
||||
exit1
|
||||
fi
|
||||
|
||||
#先确定更新的服务器类型
|
||||
if [ ${VER} = 'dev' ]; then
|
||||
SVN_BASE_URL=${SVN_BASE_URL}/${DEV}/server/server
|
||||
PUB_ROOT=${PUB_ROOT}/${PUSH_LANG}/${VER}/${PLAT}/${SERVER_TYPE}
|
||||
elif [ ${VER} = 'banshu' ]; then
|
||||
SVN_BASE_URL=${SVN_BASE_URL}/${BANSHU}/server/server
|
||||
PUB_ROOT=${PUB_ROOT}/${PUSH_LANG}/beta/${PLAT}/${SERVER_TYPE}
|
||||
LOGIN_SERVER = ${BS_LOGIN_SERVER}
|
||||
GAME_SERVER = ${BS_GAME_SERVER}
|
||||
elif [ ${VER} = 'beta' ]; then
|
||||
SVN_BASE_URL=${SVN_BASE_URL}/${BETA}/server/server
|
||||
PUB_ROOT=${PUB_ROOT}/${PUSH_LANG}/${VER}/${PLAT}/${SERVER_TYPE}
|
||||
elif [ ${VER} = 'stable' ]; then
|
||||
SVN_BASE_URL=${SVN_BASE_URL}/${STABLE}/server/server
|
||||
PUB_ROOT=${PUB_ROOT}/${PUSH_LANG}/${VER}/${PLAT}/${SERVER_TYPE}
|
||||
else
|
||||
Usage
|
||||
error "${VER}不是有效的服务器版本: [dev | beta | stable]"
|
||||
exit1
|
||||
fi
|
||||
|
||||
# PUB_ROOT=${PUB_ROOT}/${PUSH_LANG}/${VER}/${PLAT}/${SERVER_TYPE}
|
||||
#PUB_ROOT=${PUB_ROOT}/${PUSH_LANG}/${VER}/${PLAT}/${SERVER_TYPE}
|
||||
|
||||
# 代码临时编译目录
|
||||
TMP_SOURCE=${TMP_SOURCE}/${PUSH_LANG}/${VER}/${PLAT}
|
||||
|
||||
#先确定更新的服务器类型
|
||||
#确定最终发布路径
|
||||
opt "ver=${VER} server=${SERVER_TYPE} root =${PUB_ROOT} tmp_source=${TMP_SOURCE}"
|
||||
|
||||
|
||||
set -- $ARGS
|
||||
ACTION=$1
|
||||
shift
|
||||
|
||||
case ${ACTION} in
|
||||
'reboot') Reboot ;;
|
||||
'reload') Reload ;;
|
||||
'pub_rel') PubRelease ;;
|
||||
'pub_up') PubUpdate ;;
|
||||
*) Usage ; exit1;;
|
||||
esac
|
||||
|
||||
lock_release
|
||||
Reference in New Issue
Block a user