518 lines
16 KiB
Bash
518 lines
16 KiB
Bash
#! /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
|