forked from dunwu/linux-tutorial
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathjs-app-release.sh
More file actions
77 lines (65 loc) · 1.82 KB
/
js-app-release.sh
File metadata and controls
77 lines (65 loc) · 1.82 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
#################################################################################
# 前端应用发布脚本
# 环境要求:Nvm、Node.js
#################################################################################
# 检查脚本参数,如必要参数未传入,退出脚本。
function checkInput() {
if [ "${branch}" == "" ]; then
echo "请输入脚本参数:branch"
echo " branch: git分支。如 feature/1.1.16, master"
exit 1
fi
}
# 脚本主方法
function main() {
echo ">>>>>>>>>>>>>> 1. 更新代码"
${SCRIPT_DIR}/update-code.sh ${APP} ${branch} ${SOURCE_DIR}
execode=$?
if [ "${execode}" == "0" ]; then
echo "更新代码成功"
else
echo "更新代码失败"
exit 1
fi
echo ">>>>>>>>>>>>>> 2. 替换配置"
# 有的应用此处可能需要替换配置
echo ">>>>>>>>>>>>>> 3. 构建编译"
cd ${SOURCE_DIR}/${APP}
source "${HOME}/.nvm/nvm.sh"
nvm use 8.9
npm install
if [ "${profile}" == "develop" ] || [ "${profile}" == "test" ]; then
npm start
elif [ "${profile}" == "preview" ] || [ "${profile}" == "product" ]; then
npm run build
fi
execode=$?
if [ "${execode}" == "0" ]; then
echo "构建编译成功"
else
echo "构建编译失败"
exit 1
fi
echo ">>>>>>>>>>>>>> 4. 记录发布的版本信息"
saveVersionInfo ${LOG_DIR} ${APP} ${branch} ${profile}
echo ">>>>>>>>>>>>>> 发布应用结束"
}
######################################## MAIN ########################################
# 设置环境变量
export LANG="zh_CN.UTF-8"
# 设置全局常量
APP=blog
LOG_DIR=/home/zp/log
SOURCE_DIR=/home/zp/source
SCRIPT_DIR=$(cd "$(dirname "$0")";
pwd)
# 装载函数库
. ${SCRIPT_DIR}/helper.sh
# 获取传入参数并检查
branch=`echo $1`
profile=`echo $2`
checkInput
checkFileExist ${SCRIPT_DIR}/update-code.sh
createFolderIfNotExist ${SOURCE_DIR}
# 运行主方法
main