1- #! /usr/ bin/env bash
1+ #! /bin/bash
22
3- CURRENT_SCRIPT_PATH=$( cd " $( dirname " ${BASH_SOURCE[0]} " ) " ; pwd)
4- TCA_SCRIPT_ROOT=${TCA_SCRIPT_ROOT:- " $( cd $( dirname $CURRENT_SCRIPT_PATH ) ; pwd) " }
5- export TCA_PROJECT_PATH=${TCA_PROJECT_PATH:- " $( cd $( dirname $TCA_SCRIPT_ROOT ) ; pwd ) " }
3+ set -eo pipefail
4+
5+ # 当前脚本执行目录
6+ CURRENT_SCRIPT_PATH=$(
7+ cd " $( dirname " ${BASH_SOURCE[0]} " ) "
8+ pwd
9+ )
10+
11+ TCA_SCRIPT_ROOT=${TCA_SCRIPT_ROOT:- " $( dirname " ${CURRENT_SCRIPT_PATH} " ) " }
12+
13+ export TCA_PROJECT_PATH=${TCA_PROJECT_PATH:- " $( dirname " ${TCA_SCRIPT_ROOT} " ) " }
614export TCA_WEB_PATH=$TCA_PROJECT_PATH /web
715export TCA_WEB_DEPLOY_SOURCE_PATH=$TCA_WEB_PATH /tca-deploy-source
816
9- source $TCA_SCRIPT_ROOT /utils.sh
10- source $TCA_SCRIPT_ROOT /config.sh
17+ # shellcheck disable=SC1091
18+ source " $TCA_SCRIPT_ROOT " /utils.sh
19+ # shellcheck disable=SC1091
20+ source " $TCA_SCRIPT_ROOT " /config.sh
1121
1222# 微前端基座
1323MICRO_FRONTEND_FRAMEWORK=" framework"
@@ -16,52 +26,35 @@ MICRO_FRONTEND_DOCUMENT="tca-document"
1626# 子微前端
1727MICRO_FRONTEND_APPS=" login tca-layout tca-analysis tca-manage"
1828
19- function check_unzip_command() {
20- if command_exists unzip; then
21- return 0
22- else
23- return 1
24- fi
25- }
26-
27- # 由于原来各个微前端采用了不同的nginx conf,后为简化开源版前端部署已重新调整配置,为兼容旧版此处默认使用清楚逻辑
28- function clear_old_nginx_conf() {
29- # 清除各个应用的nginx conf文件
30- MICRO_FRONTEND=" $MICRO_FRONTEND_FRAMEWORK $MICRO_FRONTEND_APPS $MICRO_FRONTEND_DOCUMENT "
31- for app in $MICRO_FRONTEND ; do
32- rm -f $NGINX_CONF_PATH /$app .conf
33- done
34- }
35-
3629# 清理资源文件
3730function clear_assets() {
3831 LOG_WARN " 将路径下的资源文件和前端nginx配置备份到 ${TCA_WEB_DEPLOY_PATH} _bak 下..."
3932 if [ -d " $TCA_WEB_DEPLOY_PATH " ]; then
40- cp -r $TCA_WEB_DEPLOY_PATH / ${TCA_WEB_DEPLOY_PATH} _bak/
33+ cp -r " $TCA_WEB_DEPLOY_PATH " / " ${TCA_WEB_DEPLOY_PATH} " _bak/
4134 fi
42-
35+
4336 if [ -d " $NGINX_CONF_PATH /tca_ingress.conf" ]; then
44- cp -r $NGINX_CONF_PATH /tca_ingress.conf ${TCA_WEB_DEPLOY_PATH} _bak/
37+ cp -r " $NGINX_CONF_PATH " /tca_ingress.conf " ${TCA_WEB_DEPLOY_PATH} " _bak/
4538 fi
4639
4740 LOG_INFO " 开始清理路径下的资源文件 $TCA_WEB_DEPLOY_PATH ..."
48- rm -rf $ TCA_WEB_DEPLOY_PATH /
41+ rm -rf " ${ TCA_WEB_DEPLOY_PATH:? } " /
4942 LOG_INFO " 开始清理前端nginx配置 ..."
50- rm -f $NGINX_CONF_PATH /tca_ingress.conf
43+ rm -f " $NGINX_CONF_PATH " /tca_ingress.conf
5144}
5245
5346# 解压编译后文件
5447function init_unzip_build() {
5548 LOG_INFO " 解压编译后文件到 $TCA_WEB_DEPLOY_PATH ..."
56- rm -rf $ TCA_WEB_DEPLOY_PATH /
57- mkdir -p $TCA_WEB_DEPLOY_PATH
58- cd $TCA_WEB_DEPLOY_SOURCE_PATH /build_zip/
49+ rm -rf " ${ TCA_WEB_DEPLOY_PATH:? } " /
50+ mkdir -p " $TCA_WEB_DEPLOY_PATH "
51+ cd " $TCA_WEB_DEPLOY_SOURCE_PATH " /build_zip/
5952 # 遍历并解压
6053 MICRO_FRONTEND=" $MICRO_FRONTEND_FRAMEWORK $MICRO_FRONTEND_APPS $MICRO_FRONTEND_DOCUMENT "
6154 for app in $MICRO_FRONTEND ; do
62- unzip -q -o $app .zip -d $TCA_WEB_DEPLOY_PATH / $app
55+ unzip -q -o " $app " .zip -d " $TCA_WEB_DEPLOY_PATH " / " $app "
6356 done
64- cd $TCA_WEB_DEPLOY_SOURCE_PATH
57+ cd " $TCA_WEB_DEPLOY_SOURCE_PATH "
6558}
6659
6760# 初始化配置 framework
@@ -85,8 +78,8 @@ function init_framework_web() {
8578 "
8679 LOG_INFO " [INFO]:index.html RUNTIME is enabled"
8780 LOG_INFO " [INFO]: change 404.html, unsupported-browser.html"
88- sed -i " $replace_content " $FRAMEWORK_DEPLOY_PATH /404.html
89- sed -i " $replace_content " $FRAMEWORK_DEPLOY_PATH /unsupported-browser.html
81+ sed -i " $replace_content " " $FRAMEWORK_DEPLOY_PATH " /404.html
82+ sed -i " $replace_content " " $FRAMEWORK_DEPLOY_PATH " /unsupported-browser.html
9083
9184 LOG_INFO " [INFO]: change index.html"
9285 sed \
@@ -95,12 +88,12 @@ function init_framework_web() {
9588 s|__MICRO_FRONTEND_API__|$MICRO_FRONTEND_API |g; \
9689 s|__MICRO_FRONTEND_SETTING_API__|$MICRO_FRONTEND_SETTING_API |g; \
9790 " \
98- $FRAMEWORK_DEPLOY_PATH /index.runtime.html > $FRAMEWORK_DEPLOY_PATH /index.html
91+ " $FRAMEWORK_DEPLOY_PATH " /index.runtime.html > " $FRAMEWORK_DEPLOY_PATH " /index.html
9992
10093 LOG_INFO " conf 配置迁移 ..."
10194 # 将conf目录中的配置文件拷贝到 $MICRO_FRONTEND_FRAMEWORK static目录下
102- cp $TCA_WEB_DEPLOY_SOURCE_PATH /conf/settings.json $FRAMEWORK_DEPLOY_PATH /static/settings.json
103- cp $TCA_WEB_DEPLOY_SOURCE_PATH /conf/configs.json $FRAMEWORK_DEPLOY_PATH /static/configs.json
95+ cp " $TCA_WEB_DEPLOY_SOURCE_PATH " /conf/settings.json " $FRAMEWORK_DEPLOY_PATH " /static/settings.json
96+ cp " $TCA_WEB_DEPLOY_SOURCE_PATH " /conf/configs.json " $FRAMEWORK_DEPLOY_PATH " /static/configs.json
10497 LOG_INFO " $MICRO_FRONTEND_FRAMEWORK 配置完毕"
10598}
10699
@@ -111,7 +104,7 @@ function init_web_nginx() {
111104 if [ " $IS_DOCKER " == " TRUE" ]; then
112105 SET_DEFAULT_SERVER=" default_server"
113106 fi
114- apps=$( echo $MICRO_FRONTEND_APPS | sed ' s/[ ]/\\|/g' )
107+ apps=$( echo " $MICRO_FRONTEND_APPS " | sed ' s/[ ]/\\|/g' )
115108 sed \
116109 "
117110 s|SERVER_NAME|$TCA_WEB_HOST |g; \
@@ -124,27 +117,27 @@ function init_web_nginx() {
124117 s|MICRO_FRONTEND_DOCUMENT|$MICRO_FRONTEND_DOCUMENT |g; \
125118 s|MICRO_FRONTEND_APPS|$apps |g; \
126119 " \
127- $TCA_WEB_DEPLOY_SOURCE_PATH /nginx/ingress.conf > $NGINX_CONF_PATH /tca_ingress.conf
120+ " $TCA_WEB_DEPLOY_SOURCE_PATH " /nginx/ingress.conf > " $NGINX_CONF_PATH " /tca_ingress.conf
128121}
129122
130123# 打印环境变量配置
131124function log_env() {
132- LOG_INFO " ============================前端配置说明============================"
133- LOG_INFO " | 前端服务端口: TCA_WEB_PORT --- $TCA_WEB_PORT "
134- LOG_INFO " | 前端服务SERVER_NAME: TCA_WEB_HOST --- $TCA_WEB_HOST "
135- LOG_INFO " | 前端服务访问的后端地址: SERVER_ENV --- $TCA_SERVER_ADDR "
136- LOG_INFO " | 前端服务NGINX配置地址: NGINX_CONF_PATH --- $NGINX_CONF_PATH "
137- LOG_INFO " | 前端服务资源部署地址: WEB_DEPLOY_PATH --- $TCA_WEB_DEPLOY_PATH "
138- LOG_INFO " | 前端服务日志地址: NGINX_LOG_PATH --- $NGINX_LOG_PATH "
139- LOG_INFO " ========================end 前端配置说明 end========================"
125+ LOG_INFO " ============================前端配置说明============================"
126+ LOG_INFO " | 前端服务端口: TCA_WEB_PORT --- $TCA_WEB_PORT "
127+ LOG_INFO " | 前端服务SERVER_NAME: TCA_WEB_HOST --- $TCA_WEB_HOST "
128+ LOG_INFO " | 前端服务访问的后端地址: SERVER_ENV --- $TCA_SERVER_ADDR "
129+ LOG_INFO " | 前端服务NGINX配置地址: NGINX_CONF_PATH --- $NGINX_CONF_PATH "
130+ LOG_INFO " | 前端服务资源部署地址: WEB_DEPLOY_PATH --- $TCA_WEB_DEPLOY_PATH "
131+ LOG_INFO " | 前端服务日志地址: NGINX_LOG_PATH --- $NGINX_LOG_PATH "
132+ LOG_INFO " ========================end 前端配置说明 end========================"
140133}
141134
142135function init_web_config() {
143- check_unzip_command || error_exit " unzip command not installed "
144- clear_old_nginx_conf
145- clear_assets
146- init_unzip_build
147- init_framework_web
148- init_web_nginx
149- log_env
136+ # 校验是否存在unzip命令
137+ command_exists unzip || error_exit " unzip command not installed "
138+ clear_assets
139+ init_unzip_build
140+ init_framework_web
141+ init_web_nginx
142+ log_env
150143}
0 commit comments