一、概览
1、deploy.sh
执行脚本
核心文件。启动编译的脚本,指定编译哪个项目proj
,哪个环境env
,哪个平台plat
,哪个编译模式pub
。执行完之后就可以解放双手,微信小程序发布到体验版,H5发布到对应服务器目录。
#进入项目根目录执行
# ./deploy.sh [proj] [env] [plat] [mode]
# 示例 ./deploy.sh xx stage weixin publish
# 项目名称 proj
# xx 项目
# 环境 env
# stage 测试环境
# simula 仿真环境
# prod 生产环境
# 平台 plat
# weixin 微信小程序
# alipay 支付宝小程序
# h5 H5
# 编译模式 mode
# dev或不传 本地调试
# publish 发布
proj=xx
proName="项目"
if [[ -n "$1" ]] ;then
proj="$1";
echo "proj = $proj"
#新增项目时需要在这里新增项目判断
if [[ 'xx' = $proj ]] ;then
proName="项目"
else
proName="项目"
fi
else
echo "proj = $proj"
fi
env=stage
envName="测试环境"
webIp="192.168.1.1"
if [[ -n "$2" ]] ;then
env="$2";
echo "env = $env"
if [[ 'prod' = $env ]] ;then
envName="生产环境"
webIp="192.168.1.3"
elif [[ 'simula' = $env ]] ;then
envName="仿真环境"
webIp="192.168.1.2"
else
envName="测试环境"
webIp="192.168.1.1"
fi
else
echo "env = $env"
fi
plat=weixin
platKey="mp-weixin"
platName="微信小程序"
if [[ -n "$3" ]] ;then
plat="$3";
echo "plat = $plat"
if [[ 'h5' = $plat ]] ;then
platKey="h5"
platName="H5"
elif [[ 'alipay' = $plat ]] ;then
platKey="mp-"$plat
platName="支付宝小程序"
else
platKey="mp-"$plat
platName="微信小程序"
fi
else
echo "plat = $plat"
fi
compileStartTip="1、编译"$env$envName$platName
compileEndTip=$compileStartTip"完成"
maniStartTip='--2、修改'$envName$proName$platName"的manifest.json"
maniEndTip=$maniStartTip"完成"
maniFileName="manifest_"$env"_"$proj"_"$plat".js"
maniModCmd='node key/'$maniFileName
maniModTip='---3、'$maniModCmd
mode=dev
pubName="调试"
publishMode="dev"
if [[ -n "$4" ]] ;then
mode="$4";
echo "mode = $mode"
if [[ 'publish' = $mode ]] ;then
publishMode=$env
pubName="发布"
else
publishMode="dev"
pubName="调试"
fi
else
echo "mode = $mode"
fi
npmRunCmd='npm run '$publishMode":"$platKey"-"$proj
npmRunTip='--4、'$npmRunCmd
pubStartTip