Compare commits
9 Commits
4bbc234b53
...
2df8d60172
| Author | SHA1 | Date | |
|---|---|---|---|
| 2df8d60172 | |||
| b83c900109 | |||
| 20b414e741 | |||
| a81647a4f8 | |||
| b72b5314a0 | |||
| b126a759f0 | |||
| 05cd74fd43 | |||
| e531ce75f9 | |||
| 79d2ee344c |
+29
-12
@@ -126,9 +126,10 @@ build_env_status() {
|
||||
|
||||
select_menu() {
|
||||
local title="$1"
|
||||
shift
|
||||
local default_index="$2"
|
||||
shift 2
|
||||
local options=("$@")
|
||||
local selected=0
|
||||
local selected="${default_index:-0}"
|
||||
local key=""
|
||||
|
||||
[[ "${#options[@]}" -gt 0 ]] || ctms_fail "菜单没有可选项"
|
||||
@@ -169,22 +170,38 @@ ctms_config_get() {
|
||||
}
|
||||
|
||||
pick_env() {
|
||||
local env
|
||||
local env default_index=0
|
||||
env="$(ctms_config_get "env" || true)"
|
||||
if [[ -n "$env" ]]; then
|
||||
ctms_require_env "$env"
|
||||
SELECTED_ENV="$env"
|
||||
return
|
||||
fi
|
||||
select_menu "选择环境" \
|
||||
"dev 本地开发环境 Vite 热加载 / 默认密钥" \
|
||||
"main 内网测试环境 预发布验证 / 生产模式" \
|
||||
case "$env" in
|
||||
main) default_index=1 ;;
|
||||
release) default_index=2 ;;
|
||||
esac
|
||||
local -a opts=(
|
||||
"dev 本地开发环境 Vite 热加载 / 默认密钥"
|
||||
"main 内网测试环境 预发布验证 / 生产模式"
|
||||
"release 生产环境 HTTPS / RSA 密钥"
|
||||
)
|
||||
if [[ -n "$env" ]]; then
|
||||
case "$default_index" in
|
||||
0) opts[0]="dev(默认) 本地开发环境 Vite 热加载 / 默认密钥" ;;
|
||||
1) opts[1]="main(默认) 内网测试环境 预发布验证 / 生产模式" ;;
|
||||
2) opts[2]="release(默认) 生产环境 HTTPS / RSA 密钥" ;;
|
||||
esac
|
||||
fi
|
||||
local menu_title="选择环境"
|
||||
[[ -n "$env" ]] && menu_title="选择环境 (已识别: ${env})"
|
||||
select_menu "$menu_title" "$default_index" "${opts[@]}"
|
||||
case "$SELECTED_INDEX" in
|
||||
0) SELECTED_ENV="dev" ;;
|
||||
1) SELECTED_ENV="main" ;;
|
||||
2) SELECTED_ENV="release" ;;
|
||||
esac
|
||||
# 手动选择与配置不一致时更新 .ctms-env
|
||||
if [[ -n "$env" && "$SELECTED_ENV" != "$env" ]]; then
|
||||
local file="$ROOT_DIR/.ctms-env"
|
||||
sed -i.bak "s/^env *=.*/env = $SELECTED_ENV/" "$file" && rm -f "${file}.bak"
|
||||
ctms_info "已将 .ctms-env 中的环境更新为: $SELECTED_ENV"
|
||||
fi
|
||||
}
|
||||
|
||||
collect_install_options() {
|
||||
@@ -224,7 +241,7 @@ pause_return() {
|
||||
}
|
||||
|
||||
interactive_main() {
|
||||
select_menu "选择操作" \
|
||||
select_menu "选择操作" "" \
|
||||
"安装部署 配置环境、构建容器、迁移数据库、健康检查" \
|
||||
"滚动更新 重建服务、执行迁移、复用安装健康检查" \
|
||||
"安全卸载 停止并移除容器,保留 .env 与数据文件" \
|
||||
|
||||
Reference in New Issue
Block a user