修复滚动更新跳过环境选择的问题
.ctms-env 有配置时不再自动采用,改为作为菜单默认选中项, 用户仍可切换到其他环境。 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
+11
-10
@@ -126,9 +126,10 @@ build_env_status() {
|
|||||||
|
|
||||||
select_menu() {
|
select_menu() {
|
||||||
local title="$1"
|
local title="$1"
|
||||||
shift
|
local default_index="$2"
|
||||||
|
shift 2
|
||||||
local options=("$@")
|
local options=("$@")
|
||||||
local selected=0
|
local selected="${default_index:-0}"
|
||||||
local key=""
|
local key=""
|
||||||
|
|
||||||
[[ "${#options[@]}" -gt 0 ]] || ctms_fail "菜单没有可选项"
|
[[ "${#options[@]}" -gt 0 ]] || ctms_fail "菜单没有可选项"
|
||||||
@@ -169,14 +170,14 @@ ctms_config_get() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
pick_env() {
|
pick_env() {
|
||||||
local env
|
local env default_index=0
|
||||||
env="$(ctms_config_get "env" || true)"
|
env="$(ctms_config_get "env" || true)"
|
||||||
if [[ -n "$env" ]]; then
|
case "$env" in
|
||||||
ctms_require_env "$env"
|
main) default_index=1 ;;
|
||||||
SELECTED_ENV="$env"
|
release) default_index=2 ;;
|
||||||
return
|
*) default_index=0 ;;
|
||||||
fi
|
esac
|
||||||
select_menu "选择环境" \
|
select_menu "选择环境" "$default_index" \
|
||||||
"dev 本地开发环境 Vite 热加载 / 默认密钥" \
|
"dev 本地开发环境 Vite 热加载 / 默认密钥" \
|
||||||
"main 内网测试环境 预发布验证 / 生产模式" \
|
"main 内网测试环境 预发布验证 / 生产模式" \
|
||||||
"release 生产环境 HTTPS / RSA 密钥"
|
"release 生产环境 HTTPS / RSA 密钥"
|
||||||
@@ -224,7 +225,7 @@ pause_return() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
interactive_main() {
|
interactive_main() {
|
||||||
select_menu "选择操作" \
|
select_menu "选择操作" "0" \
|
||||||
"安装部署 配置环境、构建容器、迁移数据库、健康检查" \
|
"安装部署 配置环境、构建容器、迁移数据库、健康检查" \
|
||||||
"滚动更新 重建服务、执行迁移、复用安装健康检查" \
|
"滚动更新 重建服务、执行迁移、复用安装健康检查" \
|
||||||
"安全卸载 停止并移除容器,保留 .env 与数据文件" \
|
"安全卸载 停止并移除容器,保留 .env 与数据文件" \
|
||||||
|
|||||||
Reference in New Issue
Block a user