同步工作区更新:优化安装脚本与更新脚本,添加文档与测试脚本
This commit is contained in:
+41
-9
@@ -13,12 +13,29 @@ UI_BOX_WIDTH=76
|
||||
|
||||
usage() {
|
||||
cat <<EOF
|
||||
${C_BOLD}用法:${C_RESET}
|
||||
./install.sh
|
||||
|
||||
${C_BOLD}说明:${C_RESET}
|
||||
install.sh 不接受命令行参数。
|
||||
执行后通过键盘 ↑/↓ 选择安装、更新、卸载、状态等操作,按 Q 退出。
|
||||
${CC_PRIMARY}${C_BOLD}═══════════════════════════════════════════════════════════════${C_RESET}
|
||||
${CC_PRIMARY}${C_BOLD} CTMS 部署控制台 - 使用帮助${C_RESET}
|
||||
${CC_PRIMARY}${C_BOLD}═══════════════════════════════════════════════════════════════${C_RESET}
|
||||
|
||||
${C_BOLD}【主入口】${C_RESET} ${CC_INFO}./install.sh${C_RESET} ${CC_MUTED}↑/↓ 选择 Enter 确认 Q 退出${C_RESET}
|
||||
|
||||
${C_BOLD}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${C_RESET}
|
||||
|
||||
${C_BOLD}【底层脚本(CI/CD)】${C_RESET}
|
||||
|
||||
${CC_INFO}bash scripts/install.sh <env> [--base-url <url>] [--yes] [--skip-build] [--skip-migrate]${C_RESET}
|
||||
${CC_INFO}bash scripts/update.sh <env> [--repo-url <url>] [--branch <name>] [--yes] [--force]${C_RESET}
|
||||
${CC_INFO}bash scripts/uninstall.sh <env>${C_RESET}
|
||||
${CC_INFO}bash scripts/status.sh <env>${C_RESET}
|
||||
|
||||
${CC_MUTED}env: dev(开发)| main(内网测试)| release(生产)${C_RESET}
|
||||
${CC_MUTED}update.sh 认证:export GIT_USERNAME=xxx GIT_PASSWORD=yyy${C_RESET}
|
||||
|
||||
${CC_MUTED}查看脚本帮助:${C_RESET} bash scripts/<script>.sh --help
|
||||
|
||||
${CC_PRIMARY}${C_BOLD}═══════════════════════════════════════════════════════════════${C_RESET}
|
||||
|
||||
EOF
|
||||
}
|
||||
|
||||
@@ -139,12 +156,26 @@ select_menu() {
|
||||
"[A") selected=$(( (selected - 1 + ${#options[@]}) % ${#options[@]} )) ;;
|
||||
"[B") selected=$(( (selected + 1) % ${#options[@]} )) ;;
|
||||
"") ctms_restore_cursor; SELECTED_INDEX="$selected"; return ;;
|
||||
q|Q) ctms_restore_cursor; exit 0 ;;
|
||||
q|Q) ctms_restore_cursor; printf '\033[2J\033[H'; exit 0 ;;
|
||||
esac
|
||||
done
|
||||
}
|
||||
|
||||
# 读取 .ctms-env 中的 KEY = VALUE 配置
|
||||
ctms_config_get() {
|
||||
local key="$1" file="$ROOT_DIR/.ctms-env"
|
||||
[[ -f "$file" ]] || return 1
|
||||
awk -F' *= *' -v k="$key" 'NF==2 && $1==k { print $2; exit }' "$file"
|
||||
}
|
||||
|
||||
pick_env() {
|
||||
local env
|
||||
env="$(ctms_config_get "env" || true)"
|
||||
if [[ -n "$env" ]]; then
|
||||
ctms_require_env "$env"
|
||||
SELECTED_ENV="$env"
|
||||
return
|
||||
fi
|
||||
select_menu "选择环境" \
|
||||
"dev 本地开发环境 Vite 热加载 / 默认密钥" \
|
||||
"main 内网测试环境 预发布验证 / 生产模式" \
|
||||
@@ -158,12 +189,12 @@ pick_env() {
|
||||
|
||||
collect_install_options() {
|
||||
local env="$1"
|
||||
SELECTED_BASE_URL=""
|
||||
SELECTED_BASE_URL="$(ctms_config_get "base-url" || true)"
|
||||
|
||||
if [[ "$env" == "release" ]]; then
|
||||
if [[ "$env" == "release" && -z "$SELECTED_BASE_URL" ]]; then
|
||||
SELECTED_BASE_URL="$(ctms_ask_line "请输入健康检查地址,例如 https://ctms.example.com")"
|
||||
[[ -n "$SELECTED_BASE_URL" ]] || ctms_fail "release 环境必须提供健康检查地址"
|
||||
elif [[ "$env" == "main" ]]; then
|
||||
elif [[ "$env" == "main" && -z "$SELECTED_BASE_URL" ]]; then
|
||||
SELECTED_BASE_URL="$(ctms_ask_line "请输入健康检查地址" "http://127.0.0.1:8888")"
|
||||
fi
|
||||
}
|
||||
@@ -246,6 +277,7 @@ main() {
|
||||
build_env_status
|
||||
interactive_main || break
|
||||
done
|
||||
printf '\033[2J\033[H'
|
||||
exit 0
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user