refactor(deploy): 优化全量推送脚本,新增觉林环境支持
- 新增scripts/push-all.sh集中管理推送环境列表,避免配置漂移 - 更新所有部署配置及文档以完整支持觉林环境 - 修复deploy.sh中使用未定义ENVIRONMENTS数组的bug - 优化deploy.sh的临时文件清理逻辑,仅在构建成功后执行
Showing
5 changed files
with
34 additions
and
5 deletions
| ... | @@ -47,8 +47,10 @@ | ... | @@ -47,8 +47,10 @@ |
| 47 | | `guanzong` | 观宗环境 | 观宗相关环境 | | 47 | | `guanzong` | 观宗环境 | 观宗相关环境 | |
| 48 | | `baorong` | 宝融环境 | 宝融相关环境 | | 48 | | `baorong` | 宝融环境 | 宝融相关环境 | |
| 49 | | `taishan` | 泰山环境 | 泰山相关环境 | | 49 | | `taishan` | 泰山环境 | 泰山相关环境 | |
| 50 | +| `juelin` | 觉林环境 | 觉林相关环境 | | ||
| 50 | | `xys` | XYS环境 | XYS相关环境 | | 51 | | `xys` | XYS环境 | XYS相关环境 | |
| 51 | | `zentea` | Zentea环境 | Zentea相关环境 | | 52 | | `zentea` | Zentea环境 | Zentea相关环境 | |
| 53 | +| `behalo` | 美乐爱觉环境 | 美乐爱觉相关环境 | | ||
| 52 | 54 | ||
| 53 | ## 使用示例 | 55 | ## 使用示例 |
| 54 | 56 | ||
| ... | @@ -218,4 +220,4 @@ Shell脚本提供了更加灵活和用户友好的部署方式: | ... | @@ -218,4 +220,4 @@ Shell脚本提供了更加灵活和用户友好的部署方式: |
| 218 | ✅ **用户友好** - 彩色输出和详细进度提示 | 220 | ✅ **用户友好** - 彩色输出和详细进度提示 |
| 219 | ✅ **高效部署** - 一次编译,多环境部署 | 221 | ✅ **高效部署** - 一次编译,多环境部署 |
| 220 | 222 | ||
| 221 | -推荐使用 `deploy-config.sh` 进行日常部署,使用 `deploy.sh` 进行临时的灵活部署。 | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
| 223 | +推荐使用 `deploy-config.sh` 进行日常部署,使用 `deploy.sh` 进行临时的灵活部署。 | ... | ... |
| ... | @@ -12,7 +12,7 @@ | ... | @@ -12,7 +12,7 @@ |
| 12 | 12 | ||
| 13 | # 你也可以定义多个不同的组合: | 13 | # 你也可以定义多个不同的组合: |
| 14 | # upload_array=('dev' 'oa') # 仅开发和OA环境 | 14 | # upload_array=('dev' 'oa') # 仅开发和OA环境 |
| 15 | -upload_array=('oa' 'mituo' 'guanzong' 'baorong' 'taishan' 'xys' 'zentea' 'behalo') # 仅这三个环境 | 15 | +upload_array=('dev' 'xys' 'oa' 'mituo' 'guanzong' 'baorong' 'taishan' 'juelin' 'behalo') # 当前全量环境示例 |
| 16 | # upload_array=('all') # 所有环境 | 16 | # upload_array=('all') # 所有环境 |
| 17 | 17 | ||
| 18 | # 颜色定义 | 18 | # 颜色定义 | ... | ... |
| ... | @@ -10,6 +10,7 @@ GREEN='\033[0;32m' | ... | @@ -10,6 +10,7 @@ GREEN='\033[0;32m' |
| 10 | YELLOW='\033[1;33m' | 10 | YELLOW='\033[1;33m' |
| 11 | BLUE='\033[0;34m' | 11 | BLUE='\033[0;34m' |
| 12 | NC='\033[0m' # No Color | 12 | NC='\033[0m' # No Color |
| 13 | +SHOULD_CLEANUP=0 | ||
| 13 | 14 | ||
| 14 | # 打印带颜色的消息 | 15 | # 打印带颜色的消息 |
| 15 | print_info() { | 16 | print_info() { |
| ... | @@ -38,6 +39,7 @@ get_environment_name() { | ... | @@ -38,6 +39,7 @@ get_environment_name() { |
| 38 | "guanzong") echo "观宗寺环境" ;; | 39 | "guanzong") echo "观宗寺环境" ;; |
| 39 | "baorong") echo "包容寺环境" ;; | 40 | "baorong") echo "包容寺环境" ;; |
| 40 | "taishan") echo "泰山寺环境" ;; | 41 | "taishan") echo "泰山寺环境" ;; |
| 42 | + "juelin") echo "觉林寺环境" ;; | ||
| 41 | "xys") echo "西园寺环境" ;; | 43 | "xys") echo "西园寺环境" ;; |
| 42 | "zentea") echo "Zentea环境" ;; | 44 | "zentea") echo "Zentea环境" ;; |
| 43 | "behalo") echo "美乐爱觉环境" ;; | 45 | "behalo") echo "美乐爱觉环境" ;; |
| ... | @@ -47,7 +49,7 @@ get_environment_name() { | ... | @@ -47,7 +49,7 @@ get_environment_name() { |
| 47 | 49 | ||
| 48 | # 获取所有支持的环境列表 | 50 | # 获取所有支持的环境列表 |
| 49 | get_all_environments() { | 51 | get_all_environments() { |
| 50 | - echo "dev oa mituo guanzong baorong taishan xys zentea behalo" | 52 | + echo "dev xys oa mituo guanzong baorong taishan juelin zentea behalo" |
| 51 | } | 53 | } |
| 52 | 54 | ||
| 53 | # 显示帮助信息 | 55 | # 显示帮助信息 |
| ... | @@ -110,13 +112,14 @@ build_project() { | ... | @@ -110,13 +112,14 @@ build_project() { |
| 110 | exit 1 | 112 | exit 1 |
| 111 | fi | 113 | fi |
| 112 | 114 | ||
| 115 | + SHOULD_CLEANUP=1 | ||
| 113 | print_success "编译打包完成" | 116 | print_success "编译打包完成" |
| 114 | } | 117 | } |
| 115 | 118 | ||
| 116 | # 部署到指定环境 | 119 | # 部署到指定环境 |
| 117 | deploy_to_environment() { | 120 | deploy_to_environment() { |
| 118 | local env=$1 | 121 | local env=$1 |
| 119 | - local env_name=${ENVIRONMENTS[$env]} | 122 | + local env_name=$(get_environment_name "$env") |
| 120 | 123 | ||
| 121 | print_info "开始部署到 $env_name ($env)..." | 124 | print_info "开始部署到 $env_name ($env)..." |
| 122 | 125 | ||
| ... | @@ -140,6 +143,10 @@ deploy_to_environment() { | ... | @@ -140,6 +143,10 @@ deploy_to_environment() { |
| 140 | 143 | ||
| 141 | # 清理临时文件 | 144 | # 清理临时文件 |
| 142 | cleanup() { | 145 | cleanup() { |
| 146 | + if [[ $SHOULD_CLEANUP -ne 1 ]]; then | ||
| 147 | + return 0 | ||
| 148 | + fi | ||
| 149 | + | ||
| 143 | print_info "清理临时文件..." | 150 | print_info "清理临时文件..." |
| 144 | 151 | ||
| 145 | if [[ -f "dist.tar.gz" ]]; then | 152 | if [[ -f "dist.tar.gz" ]]; then | ... | ... |
| ... | @@ -49,7 +49,7 @@ | ... | @@ -49,7 +49,7 @@ |
| 49 | "push-zentea": "npm run scp-zentea && npm run dec-zentea", | 49 | "push-zentea": "npm run scp-zentea && npm run dec-zentea", |
| 50 | "push-behalo": "npm run scp-behalo && npm run dec-behalo", | 50 | "push-behalo": "npm run scp-behalo && npm run dec-behalo", |
| 51 | "push-juelin": "npm run scp-juelin && npm run dec-juelin", | 51 | "push-juelin": "npm run scp-juelin && npm run dec-juelin", |
| 52 | - "push-all": "npm run push-xys && npm run push-oa && npm run push-mituo && npm run push-guanzong && npm run push-baorong && npm run push-taishan && npm run push-juelin && npm run push-behalo", | 52 | + "push-all": "bash ./scripts/push-all.sh", |
| 53 | "dev_upload": "npm run prepare_upload && npm run push-dev && npm run cleanup_upload", | 53 | "dev_upload": "npm run prepare_upload && npm run push-dev && npm run cleanup_upload", |
| 54 | "oa_upload": "npm run prepare_upload && npm run push-oa && npm run cleanup_upload", | 54 | "oa_upload": "npm run prepare_upload && npm run push-oa && npm run cleanup_upload", |
| 55 | "mituo_upload": "npm run prepare_upload && npm run push-mituo && npm run cleanup_upload", | 55 | "mituo_upload": "npm run prepare_upload && npm run push-mituo && npm run cleanup_upload", | ... | ... |
scripts/push-all.sh
0 → 100644
| 1 | +#!/bin/bash | ||
| 2 | + | ||
| 3 | +# 全量推送环境名单统一收口在这里,避免 package.json 和 shell 脚本各写一份后逐渐漂移。 | ||
| 4 | +ALL_ENVIRONMENTS=( | ||
| 5 | + dev | ||
| 6 | + xys | ||
| 7 | + oa | ||
| 8 | + mituo | ||
| 9 | + guanzong | ||
| 10 | + baorong | ||
| 11 | + taishan | ||
| 12 | + juelin | ||
| 13 | + zentea | ||
| 14 | + behalo | ||
| 15 | +) | ||
| 16 | + | ||
| 17 | +for env in "${ALL_ENVIRONMENTS[@]}"; do | ||
| 18 | + echo ">>> push-$env" | ||
| 19 | + npm run "push-$env" || exit 1 | ||
| 20 | +done |
-
Please register or login to post a comment