提交 6fdb8209 authored 作者: 陈泽健's avatar 陈泽健

feat(script): 新增服务器配置并完善容器更新功能

- 在 check_server_health.ps1 和 remote_update_win.ps1 脚本中新增 ID 为 4 的服务器配置,
  包括 IP、用户名、密码及描述信息,用于新统一平台测试服务器的连接
- 更新 PRD 文档中 remote_update_win 脚本相关描述,明确其 PowerShell 脚本扩展名
- 将 remote_update_win 脚本的功能状态从“待开发”更新为“已实现”,包括服务器选择、自定义端口、
  架构校验、镜像传输、容器停止、平台识别、版本校验、容器编号、远端执行和日志审计等核心功能
- 新增自动打包上传需求文档,详细说明 server_pakage_upload.sh 脚本的功能需求与实现细节,
  涵盖系统类型选择、不同系统的前后端服务包与容器镜像包的具体打包路径及网盘上传流程
上级 58e6633d
# 容器升级需求说明文档
## 📋 概述
本脚本主要用于将主服务器上根据不同系统要求进行更新自动化部署包程序,压缩后上传至公司网盘:
1. **`server_pakage_upload.sh`**: 脚本路径:E:\GithubData\自动化\ubains-module-test\辅助工具\脚本工具\自动化部署打包上传\server_pakage_upload.sh
### 背景
目前系统支持多个部署系统的打包,需要区分两种平台环境:
- **新统一平台**:使用 `/data/` 目录结构
## 🎯 功能实现总览
### 打包脚本 (`pakage_upload.sh`)
需求功能点:
1、询问用户选择需要打包的系统类型(会议预定系统、运维集控系统、语音转录系统、电子桌牌系统、无纸化信令服务)。✅ 已完成待验证
2、根据选择的系统类型,执行相应的打包操作。
- 会议预定系统:前后端服务包 ✅ 已完成待验证、容器镜像包 ✅ 已完成待验证
- 运维集控系统:前后端服务包、容器镜像包
- 语音转录系统:前后端服务包、容器镜像包
- 电子桌牌系统:前后端服务包、容器镜像包
- 无纸化信令服务:前后端服务包、容器镜像包
3、打包成tar.gz格式并增加md5格式校验后,将打包后的文件上传至公司网盘。✅ 已完成待验证
#### 详细功能描述:
1、询问用户选择需要打包的系统类型:
- 使用 `select` 命令,将系统类型列表作为选项,让用户进行选择。
2、根据选择的系统类型,执行相应的打包操作:
- 自动化部署包路径:'/data/offline_auto_unifiedPlatform'(暂时不区分系统名称)
- 会议预定系统:
前后端服务包:
1、将/data/services/api/auth/auth-sso-auth目录下的jar包更新中至/data/offline_auto_unifiedPlatform/data/services/api/auth/auth-sso-auth目录下
2、将/data/services/api/auth/auth-sso-gatway目录下的jar包更新中至/data/offline_auto_unifiedPlatform/data/services/api/auth/auth-sso-gatway目录下
3、将/data/services/api/auth/auth-sso-system目录下的jar包更新中至/data/offline_auto_unifiedPlatform/data/services/api/auth/auth-sso-system目录下
4、将/data/services/api/java-meeting/java-meeting2.0目录下的jar包更新中至/data/offline_auto_unifiedPlatform/data/services/api/java-meeting/java-meeting2.0目录下
5、将/data/services/api/java-meeting/java-meeting3.0目录下的jar包更新中至/data/offline_auto_unifiedPlatform/data/services/api/java-meeting/java-meeting3.0目录下
6、将/data/services/api/java-meeting/java-meeting-extapi目录下的jar包更新中至/data/offline_auto_unifiedPlatform/data/services/api/java-meeting/java-meeting-extapi目录下
7、将/data/services/api/java-meeting/java-message-scheduling目录下的jar包更新中至/data/offline_auto_unifiedPlatform/data/services/api/java-meeting/java-message-scheduling目录下
8、将/data/services/api/java-meeting/java-mqtt目录下的jar包更新中至/data/offline_auto_unifiedPlatform/data/services/api/java-meeting/java-mqtt目录下
9、将/data/services/api/java-meeting/java-quartz目录下的jar包更新中至/data/offline_auto_unifiedPlatform/data/services/api/java-meeting/java-quartz目录下
10、将/data/services/web/pc/pc-vue2-ai目录下的static文件夹、index.html文件更新中至/data/offline_auto_unifiedPlatform/data/services/web/pc/pc-vue2-ai目录下
11、将/data/services/web/pc/pc-vue2-backstage目录下的static文件夹、index.html文件更新中至/data/offline_auto_unifiedPlatform/data/services/web/pc/pc-vue2-backstage目录下
12、将/data/services/web/pc/pc-vue2-main目录下的static文件夹、index.html文件和js文件更新中至/data/offline_auto_unifiedPlatform/data/services/web/pc/pc-vue2-main目录下
13、将/data/services/web/pc/pc-vue2-meetingControl目录下的static文件夹、index.html文件更新中至/data/offline_auto_unifiedPlatform/data/services/web/pc/pc-vue2-meetingControl目录下
14、将/data/services/web/pc/pc-vue2-meetngV2目录下的static文件夹、index.html文件和js文件更新中至/data/offline_auto_unifiedPlatform/data/services/web/pc/pc-vue2-meetngV2目录下
15、将/data/services/web/pc/pc-vue2-meetngV3目录下的static文件夹、index.html文件和js文件更新中至/data/offline_auto_unifiedPlatform/data/services/web/pc/pc-vue2-meetngV3目录下
16、将/data/services/web/pc/pc-vue2-platform目录下的static文件夹、index.html文件和temp文件夹更新中至/data/offline_auto_unifiedPlatform/data/services/web/pc/pc-vue2-platform目录下
容器镜像包:
1、将/data/temp目录下的docker-20.10.7.tgz和docker.service和docker文件夹更新至/data/offline_auto_unifiedPlatform/data/temp目录下
2、将/data/temp目录下的umysql.tar.gz、devops_voice.sql、huazhao2.sql、nacos_mysql.sql、offline.sql更新至/data/offline_auto_unifiedPlatform/data/temp目录下
3、将/data/temp目录下的redis8.2.2.tar.gz更新至/data/offline_auto_unifiedPlatform/data/temp目录下
4、将/data/temp目录下的uemqx5.8.4.tar.gz更新至/data/offline_auto_unifiedPlatform/data/temp目录下
5、将/data/temp目录下的ufastdfs.tar.gz更新至/data/offline_auto_unifiedPlatform/data/temp目录下
6、将/data/temp目录下的nacos-server-v2.5.2.tar.gz更新至/data/offline_auto_unifiedPlatform/data/temp目录下
7、将/data/temp目录下的nginx-1.29.3.tar.gz更新至/data/offline_auto_unifiedPlatform/data/temp目录下
8、将/data/temp目录下的chrony.conf更新至/data/offline_auto_unifiedPlatform/data/temp目录下
9、将/data/temp目录下的jdk-8u472-linux-x64.tar.gz更新至/data/offline_auto_unifiedPlatform/data/temp目录下
10、将/data/temp目录下的java1.8.0_472.tar.gz更新至/data/offline_auto_unifiedPlatform/data/temp目录下
- 运维集控系统:
前后端服务包:
1、将/data/services/api/python-cmdb目录下的cmdb和UbainsDevOps文件夹更新至/data/offline_auto_unifiedPlatform/data/services/api/python-cmdb
3、将/data/services/web/pc/pc-vue2-moniter/目录下的index.html、module文件夹和static文件夹更新中至/data/offline_auto_unifiedPlatform/data/services/web/pc/pc-vue2-moniter目录下
容器镜像包:
1、将/data/temp目录下的docker-20.10.7.tgz和docker.service和docker文件夹更新至/data/offline_auto_unifiedPlatform/data/temp目录下
2、将/data/temp目录下的umysql.tar.gz、devops_voice.sql、huazhao2.sql、nacos_mysql.sql、offline.sql更新至/data/offline_auto_unifiedPlatform/data/temp目录下
3、将/data/temp目录下的redis8.2.2.tar.gz更新至/data/offline_auto_unifiedPlatform/data/temp目录下
4、将/data/temp目录下的uemqx5.8.4.tar.gz更新至/data/offline_auto_unifiedPlatform/data/temp目录下
5、将/data/temp目录下的ufastdfs.tar.gz更新至/data/offline_auto_unifiedPlatform/data/temp目录下
6、将/data/temp目录下的nacos-server-v2.5.2.tar.gz更新至/data/offline_auto_unifiedPlatform/data/temp目录下
7、将/data/temp目录下的nginx-1.29.3.tar.gz更新至/data/offline_auto_unifiedPlatform/data/temp目录下
8、将/data/temp目录下的chrony.conf更新至/data/offline_auto_unifiedPlatform/data/temp目录下
9、将/data/temp目录下的jdk-8u472-linux-x64.tar.gz更新至/data/offline_auto_unifiedPlatform/data/temp目录下
10、将/data/temp目录下的python_v15.tar.gz更新至/data/offline_auto_unifiedPlatform/data/temp目录下
11、将/data/temp目录下的python_v15.tar.gz更新至/data/offline_auto_unifiedPlatform/data/temp目录下
3、打包成tar.gz格式并增加md5格式校验后,将打包后的文件上传至公司网盘。
将/data/offline_auto_unifiedPlatform目录打包成tar.gz格式并增加md5格式校验后,将打包后的文件上传至公司网盘。
\ No newline at end of file
......@@ -100,6 +100,12 @@ $ServerList = @{
Pass = "Ubains@1234"
Desc = "标准版预定运维测试发布服务器"
}
"4" = @{
IP = "192.168.5.44"
User = "root"
Pass = "Ubains@123"
Desc = "新统一平台测试服务器"
}
}
# ================================
......
......@@ -101,27 +101,27 @@
| 进度显示 | 打包和上传过程显示进度条 | ✅ 已实现 |
| 密码加密 | 网盘密码使用 base64 加密存储 | ✅ 已实现 |
### 新增脚本remote_update_win
### 新增脚本remote_update_win.ps1
> 参考脚本:E:\GithubData\自动化\ubains-module-test\辅助工具\脚本工具\远程容器更新\remote_update.sh
> 新增脚本:E:\GithubData\自动化\ubains-module-test\辅助工具\脚本工具\远程容器更新\remote_update_win
> 新增脚本:E:\GithubData\自动化\ubains-module-test\辅助工具\脚本工具\远程容器更新\remote_update_win.ps1
> 脚本要求:最好能够直接运行,不用安装依赖
| 功能模块 | 描述 | 状态 |
|----------|------|------|
| 服务器选择 | 支持预设服务器列表和手动输入(IP/端口/用户名/密码) | ❌ 待开发 |
| 自定义端口 | 支持自定义 SSH 端口(默认 22) | ❌ 待开发 |
| 架构校验 | 校验目标服务器是否为 x86 架构 | ❌ 待开发 |
| 镜像传输 | 自动传输镜像文件和部署脚本 | ❌ 待开发|
| 容器停止 | 自动停止远端旧容器 | ❌ 待开发 |
| 平台识别 | 自动检测目标服务器平台类型(检测 /data/services 目录) | ❌ 待开发 |
| 版本校验 | 自动校验远端容器镜像版本是否已更新 | ❌ 待开发 |
| 服务器选择 | 支持预设服务器列表和手动输入(IP/端口/用户名/密码) | ✅ 已实现 |
| 自定义端口 | 支持自定义 SSH 端口(默认 22) | ✅ 已实现 |
| 架构校验 | 校验目标服务器是否为 x86 架构 | ✅ 已实现 |
| 镜像传输 | 自动传输镜像文件和部署脚本 | ✅ 已实现|
| 容器停止 | 自动停止远端旧容器 | ✅ 已实现 |
| 平台识别 | 自动检测目标服务器平台类型(检测 /data/services 目录) | ✅ 已实现 |
| 版本校验 | 自动校验远端容器镜像版本是否已更新 | ✅ 已实现 |
| EMQX 同步 | 同步 EMQX 配置、数据、日志目录 | ❌ 待开发 |
| Python 同步 | 同步 Python 代码和配置 | ⏸️ 暂停 |
| Nginx 同步 | 同步 Nginx 配置、HTML、证书 | ❌ 待开发 |
| 容器编号 | 自动递增容器编号 | ❌ 待开发 |
| 远端执行 | 调用远端部署脚本 | ❌ 待开发 |
| 日志审计 | 每一步骤的日志都需要记录到log文件中 | ❌ 待开发 |
| 容器编号 | 自动递增容器编号 | ✅ 已实现 |
| 远端执行 | 调用远端部署脚本 | ✅ 已实现 |
| 日志审计 | 每一步骤的日志都需要记录到log文件中 | ✅ 已实现 |
### 待开发功能
......
......@@ -124,6 +124,12 @@ $ServerList = @{
Pass = "Ubains@1234"
Desc = "标准版预定运维测试发布服务器"
}
"4" = @{
IP = "192.168.5.44"
User = "root"
Pass = "Ubains@123"
Desc = "新统一平台测试服务器"
}
}
# 容器与镜像映射配置
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论