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,44 @@ MICRO_FRONTEND_DOCUMENT="tca-document"
1626# 子微前端
1727MICRO_FRONTEND_APPS=" login tca-layout tca-analysis tca-manage"
1828
29+ # 校验是否存在unzip命令
1930function 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
31+ if command_exists unzip; then
32+ return 0
33+ else
34+ return 1
35+ fi
3436}
3537
3638# 清理资源文件
3739function clear_assets() {
3840 LOG_WARN " 将路径下的资源文件和前端nginx配置备份到 ${TCA_WEB_DEPLOY_PATH} _bak 下..."
3941 if [ -d " $TCA_WEB_DEPLOY_PATH " ]; then
40- cp -r $TCA_WEB_DEPLOY_PATH / ${TCA_WEB_DEPLOY_PATH} _bak/
42+ cp -r " $TCA_WEB_DEPLOY_PATH " / " ${TCA_WEB_DEPLOY_PATH} " _bak/
4143 fi
42-
44+
4345 if [ -d " $NGINX_CONF_PATH /tca_ingress.conf" ]; then
44- cp -r $NGINX_CONF_PATH /tca_ingress.conf ${TCA_WEB_DEPLOY_PATH} _bak/
46+ cp -r " $NGINX_CONF_PATH " /tca_ingress.conf " ${TCA_WEB_DEPLOY_PATH} " _bak/
4547 fi
4648
4749 LOG_INFO " 开始清理路径下的资源文件 $TCA_WEB_DEPLOY_PATH ..."
48- rm -rf $ TCA_WEB_DEPLOY_PATH /
50+ rm -rf " ${ TCA_WEB_DEPLOY_PATH:? } " /
4951 LOG_INFO " 开始清理前端nginx配置 ..."
50- rm -f $NGINX_CONF_PATH /tca_ingress.conf
52+ rm -f " $NGINX_CONF_PATH " /tca_ingress.conf
5153}
5254
5355# 解压编译后文件
5456function init_unzip_build() {
5557 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/
58+ rm -rf " ${ TCA_WEB_DEPLOY_PATH:? } " /
59+ mkdir -p " $TCA_WEB_DEPLOY_PATH "
60+ cd " $TCA_WEB_DEPLOY_SOURCE_PATH " /build_zip/
5961 # 遍历并解压
6062 MICRO_FRONTEND=" $MICRO_FRONTEND_FRAMEWORK $MICRO_FRONTEND_APPS $MICRO_FRONTEND_DOCUMENT "
6163 for app in $MICRO_FRONTEND ; do
62- unzip -q -o $app .zip -d $TCA_WEB_DEPLOY_PATH / $app
64+ unzip -q -o " $app " .zip -d " $TCA_WEB_DEPLOY_PATH " / " $app "
6365 done
64- cd $TCA_WEB_DEPLOY_SOURCE_PATH
66+ cd " $TCA_WEB_DEPLOY_SOURCE_PATH "
6567}
6668
6769# 初始化配置 framework
@@ -85,8 +87,8 @@ function init_framework_web() {
8587 "
8688 LOG_INFO " [INFO]:index.html RUNTIME is enabled"
8789 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
90+ sed -i " $replace_content " " $FRAMEWORK_DEPLOY_PATH " /404.html
91+ sed -i " $replace_content " " $FRAMEWORK_DEPLOY_PATH " /unsupported-browser.html
9092
9193 LOG_INFO " [INFO]: change index.html"
9294 sed \
@@ -95,12 +97,12 @@ function init_framework_web() {
9597 s|__MICRO_FRONTEND_API__|$MICRO_FRONTEND_API |g; \
9698 s|__MICRO_FRONTEND_SETTING_API__|$MICRO_FRONTEND_SETTING_API |g; \
9799 " \
98- $FRAMEWORK_DEPLOY_PATH /index.runtime.html > $FRAMEWORK_DEPLOY_PATH /index.html
100+ " $FRAMEWORK_DEPLOY_PATH " /index.runtime.html > " $FRAMEWORK_DEPLOY_PATH " /index.html
99101
100102 LOG_INFO " conf 配置迁移 ..."
101103 # 将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
104+ cp " $TCA_WEB_DEPLOY_SOURCE_PATH " /conf/settings.json " $FRAMEWORK_DEPLOY_PATH " /static/settings.json
105+ cp " $TCA_WEB_DEPLOY_SOURCE_PATH " /conf/configs.json " $FRAMEWORK_DEPLOY_PATH " /static/configs.json
104106 LOG_INFO " $MICRO_FRONTEND_FRAMEWORK 配置完毕"
105107}
106108
@@ -111,7 +113,7 @@ function init_web_nginx() {
111113 if [ " $IS_DOCKER " == " TRUE" ]; then
112114 SET_DEFAULT_SERVER=" default_server"
113115 fi
114- apps=$( echo $MICRO_FRONTEND_APPS | sed ' s/[ ]/\\|/g' )
116+ apps=$( echo " $MICRO_FRONTEND_APPS " | sed ' s/[ ]/\\|/g' )
115117 sed \
116118 "
117119 s|SERVER_NAME|$TCA_WEB_HOST |g; \
@@ -124,27 +126,26 @@ function init_web_nginx() {
124126 s|MICRO_FRONTEND_DOCUMENT|$MICRO_FRONTEND_DOCUMENT |g; \
125127 s|MICRO_FRONTEND_APPS|$apps |g; \
126128 " \
127- $TCA_WEB_DEPLOY_SOURCE_PATH /nginx/ingress.conf > $NGINX_CONF_PATH /tca_ingress.conf
129+ " $TCA_WEB_DEPLOY_SOURCE_PATH " /nginx/ingress.conf > " $NGINX_CONF_PATH " /tca_ingress.conf
128130}
129131
130132# 打印环境变量配置
131133function 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========================"
134+ LOG_INFO " ============================前端配置说明============================"
135+ LOG_INFO " | 前端服务端口: TCA_WEB_PORT --- $TCA_WEB_PORT "
136+ LOG_INFO " | 前端服务SERVER_NAME: TCA_WEB_HOST --- $TCA_WEB_HOST "
137+ LOG_INFO " | 前端服务访问的后端地址: SERVER_ENV --- $TCA_SERVER_ADDR "
138+ LOG_INFO " | 前端服务NGINX配置地址: NGINX_CONF_PATH --- $NGINX_CONF_PATH "
139+ LOG_INFO " | 前端服务资源部署地址: WEB_DEPLOY_PATH --- $TCA_WEB_DEPLOY_PATH "
140+ LOG_INFO " | 前端服务日志地址: NGINX_LOG_PATH --- $NGINX_LOG_PATH "
141+ LOG_INFO " ========================end 前端配置说明 end========================"
140142}
141143
142144function 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
145+ check_unzip_command || error_exit " unzip command not installed"
146+ clear_assets
147+ init_unzip_build
148+ init_framework_web
149+ init_web_nginx
150+ log_env
150151}
0 commit comments