Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
为 GitLab 提交贡献
登录
切换导航
U
ubains-module-test
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分枝图
比较
统计图
议题
1
议题
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
分枝图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
郑晓兵
ubains-module-test
Commits
a6a2323e
提交
a6a2323e
authored
5月 15, 2026
作者:
陈泽健
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix(edit):deploy脚本增加all参数接收,接收参数all时自动部署全部系统,无需交互菜单选择,作为AI远程自动化部署调试使用,不传all时依旧走原有逻辑。
上级
d95380cf
显示空白字符变更
内嵌
并排
正在显示
4 个修改的文件
包含
123 行增加
和
2 行删除
+123
-2
deploy_with_responses.sh
...iaryTool/ScriptTool/RemoteDeploy/deploy_with_responses.sh
+14
-0
_PRD_远程自动化部署_需求文档.md
Docs/PRD/远程自动化部署/_PRD_远程自动化部署_需求文档.md
+1
-1
auto_deploy_services.sh
自动化部署脚本/x86架构/新统一平台/auto_deploy_services.sh
+65
-0
new_auto.sh
自动化部署脚本/x86架构/新统一平台/new_auto.sh
+43
-1
没有找到文件。
AuxiliaryTool/ScriptTool/RemoteDeploy/deploy_with_responses.sh
0 → 100644
浏览文件 @
a6a2323e
#!/bin/bash
# 自动响应部署脚本的交互式提示
cd
/data/offline_auto_unifiedPlatform
# 使用输入重定向自动响应所有提示
./new_auto.sh
<<
EOF
1
y
y
y
y
y
EOF
Docs/PRD/远程自动化部署/_PRD_远程自动化部署_需求文档.md
浏览文件 @
a6a2323e
...
@@ -48,7 +48,7 @@
...
@@ -48,7 +48,7 @@
-
登录目标服务器,并切换到root用户。
-
登录目标服务器,并切换到root用户。
3.
部署执行
3.
部署执行
-
严格根据部署文档执行部署操作!!!
-
严格根据部署文档执行部署操作!!!
-
如遇选择部署的系统,则选择全部系统,并执行部署操作。直接在交互式SSH会话中运行脚本,手动选择"全部系统"
。
-
部署文档中提及是执行
`new_auto.sh`
,但你需要执行
`new_auto.sh --all`
,这样就不需要交互选择系统部署了
。
-
不要自己乱操作,严格按照文档操作执行即可。
-
不要自己乱操作,严格按照文档操作执行即可。
-
文档中明确标明超管账号密码为:superadmin Ubains@1357
-
文档中明确标明超管账号密码为:superadmin Ubains@1357
-
授权文件上传操作,直接根据部署文档使用web界面的上传功能。
-
授权文件上传操作,直接根据部署文档使用web界面的上传功能。
...
...
自动化部署脚本/x86架构/新统一平台/auto_deploy_services.sh
浏览文件 @
a6a2323e
...
@@ -930,6 +930,71 @@ function deploy_services() {
...
@@ -930,6 +930,71 @@ function deploy_services() {
# 🎯 解析过滤参数,确定允许的菜单编号
# 🎯 解析过滤参数,确定允许的菜单编号
# ========================================
# ========================================
local
allowed_numbers
=()
local
allowed_numbers
=()
# 特殊处理:如果传入 "all",直接部署所有系统
if
[
"
$filter_services
"
=
"all"
]
;
then
log
"INFO"
"🤖 收到 'all' 参数,自动部署所有系统"
allowed_numbers
=(
1 2 3 4 5
)
# 直接跳到部署流程,跳过所有交互界面
log
"INFO"
"=================================================="
log
"INFO"
"🚀 开始自动部署所有系统"
log
"INFO"
"=================================================="
local
success_count
=
0
local
total_count
=
0
for
choice
in
"
${
allowed_numbers
[@]
}
"
;
do
local
func_list
=
"
${
SERVICE_MAP
[
$choice
]
}
"
local
label
=
"
${
SERVICE_LABEL
[
$choice
]
}
"
if
[[
-z
"
$label
"
]]
;
then
log
"ERROR"
"⚠️ 未知服务编号:
$choice
"
continue
fi
log
"INFO"
"=================================================================="
log
"INFO"
"🚀 正在部署:
$label
"
log
"INFO"
"=================================================================="
# 执行该服务关联的每一个函数
local
service_success
=
true
for
func_name
in
$func_list
;
do
if
declare
-f
"
$func_name
"
>
/dev/null
;
then
log
"INFO"
"▶️ 执行函数:
$func_name
"
"
$func_name
"
if
[
$?
-ne
0
]
;
then
log
"ERROR"
"❌ 函数执行失败:
$func_name
"
service_success
=
false
break
else
log
"INFO"
"✅
$func_name
执行成功"
fi
else
log
"ERROR"
"❌ 未找到函数:
$func_name
"
service_success
=
false
break
fi
done
if
[
"
$service_success
"
=
true
]
;
then
log
"INFO"
"✅
$label
部署成功"
((
success_count++
))
else
log
"ERROR"
"❌
$label
部署失败"
fi
done
# 最终统计
local
fail_count
=
$((
${#
allowed_numbers
[@]
}
-
success_count
))
log
"INFO"
"=================================================="
log
"INFO"
"🎯 自动部署完成:成功
$success_count
个服务,失败
$fail_count
个"
log
"INFO"
"=================================================="
return
$((
fail_count
>
0
?
1
:
0
))
fi
# 正常流程:解析服务名称
if
[
-n
"
$filter_services
"
]
;
then
if
[
-n
"
$filter_services
"
]
;
then
log
"INFO"
"📋 收到服务过滤参数:
$filter_services
"
log
"INFO"
"📋 收到服务过滤参数:
$filter_services
"
# 将逗号分隔的服务名称转换为对应的菜单编号
# 将逗号分隔的服务名称转换为对应的菜单编号
...
...
自动化部署脚本/x86架构/新统一平台/new_auto.sh
浏览文件 @
a6a2323e
...
@@ -2,7 +2,33 @@
...
@@ -2,7 +2,33 @@
#------------------------------工具类模块---------------------------------------------------
#------------------------------工具类模块---------------------------------------------------
# 日志打印函数
# 日志打印函数
LOG_FILE
=
"/data/logs/new_auto_script.log"
LOG_FILE
=
"/data/logs/new_auto_script.log"
mkdir
-p
"
$(
dirname
"
$LOG_FILE
"
)
"
2>/dev/null
mkdir
-p
"
$(
dirname
"
$LOG_FILE
"
)
"
2>/dev/null
"
# 自动部署所有服务的标志(默认false,需要通过--all参数启用)
AUTO_DEPLOY_ALL=false
# 解析命令行参数
while [[
$#
-gt 0 ]]; do
case
$1
in
--all)
AUTO_DEPLOY_ALL=true
log "
INFO
" "
启用自动部署所有系统模式
"
shift
;;
--help|-h)
echo "
用法:
$0
[
选项]
"
echo "
选项:
"
echo "
--all
自动部署所有系统(无需手动选择)
"
echo "
--help
显示此帮助信息
"
exit 0
;;
*)
echo "
未知参数:
$1
"
echo "
使用
--help
查看帮助信息
"
exit 1
;;
esac
done
# 用户输入的东西也同步记录到日志信息里面
# 用户输入的东西也同步记录到日志信息里面
function log() {
function log() {
# 获取当前时间
# 获取当前时间
...
@@ -1328,7 +1354,23 @@ function getLatestVersion() {
...
@@ -1328,7 +1354,23 @@ function getLatestVersion() {
# 1. 默认显示全部服务:deploy_services ""
# 1. 默认显示全部服务:deploy_services ""
# 2. 指定服务:deploy_services "meeting,monitor,voice"
# 2. 指定服务:deploy_services "meeting,monitor,voice"
# 3. 通过变量:deploy_services "$deploy_services_type"
# 3. 通过变量:deploy_services "$deploy_services_type"
# 4. 自动部署所有系统:./new_auto.sh --all
# deploy_services 调用方式:
# 1. 默认显示全部服务:deploy_services ""
# 2. 指定服务:deploy_services "meeting,monitor,voice"
# 3. 通过变量:deploy_services "$deploy_services_type"
# 4. 自动部署所有系统:deploy_services "all"
# 判断是否启用自动部署所有系统
if
[
"
$AUTO_DEPLOY_ALL
"
=
true
]
;
then
log
"INFO"
"自动部署所有系统,跳过服务选择界面"
deploy_services
"meeting,monitor,voice,paperless,cardtable"
else
log
"INFO"
"进入服务选择界面"
deploy_services
""
deploy_services
""
fi
log
"INFO"
"查看服务是否启动成功——————docker ps"
log
"INFO"
"查看服务是否启动成功——————docker ps"
log
"INFO"
"系统服务:umysql,uredis,ujava2,uemqx,ustorage,utracker "
log
"INFO"
"系统服务:umysql,uredis,ujava2,uemqx,ustorage,utracker "
$sudoset
docker ps
$sudoset
docker ps
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论