修复滚动更新跳过环境选择的问题

.ctms-env 有配置时不再自动采用,改为作为菜单默认选中项,
用户仍可切换到其他环境。

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Cheng Zhou
2026-06-23 22:07:34 +08:00
parent e531ce75f9
commit 05cd74fd43
+11 -10
View File
@@ -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,14 +170,14 @@ 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 "选择环境" \
case "$env" in
main) default_index=1 ;;
release) default_index=2 ;;
*) default_index=0 ;;
esac
select_menu "选择环境" "$default_index" \
"dev 本地开发环境 Vite 热加载 / 默认密钥" \
"main 内网测试环境 预发布验证 / 生产模式" \
"release 生产环境 HTTPS / RSA 密钥"
@@ -224,7 +225,7 @@ pause_return() {
}
interactive_main() {
select_menu "选择操作" \
select_menu "选择操作" "0" \
"安装部署 配置环境、构建容器、迁移数据库、健康检查" \
"滚动更新 重建服务、执行迁移、复用安装健康检查" \
"安全卸载 停止并移除容器,保留 .env 与数据文件" \