readme更新
This commit is contained in:
+38
-20
@@ -38,26 +38,44 @@ curl -sSL https://git.whitetop.xyz/lxh2875931338/frpc-console/raw/main/run-deplo
|
||||
|
||||
deploy.sh 是一个完整的状态机驱动部署引擎,按时间顺序执行以下操作:
|
||||
|
||||
阶段 步骤 说明
|
||||
检测 检测操作系统 自动识别 openSUSE / Ubuntu / Debian / CentOS / Alpine / Arch
|
||||
检测 检测 CPU 架构 自动适配 x86_64 / ARM64 / ARMv7 / ARMHF
|
||||
检测 检测必要工具 git / curl / wget(如未安装则自动安装)
|
||||
检测 检测 Docker 环境 确认 Docker 已安装,获取版本信息
|
||||
检测 检测镜像源配置 读取 /etc/docker/daemon.json,检测用户配置和默认地址连通性
|
||||
决策 状态机计算 根据检测结果决定:是否写入镜像源 / 是否重排 / 是否重启 Docker
|
||||
决策 生成部署计划 展示完整操作清单,等待用户确认
|
||||
执行 拉取源码 从 Gitea 仓库克隆对应分支的最新代码
|
||||
执行 配置镜像源 按需写入 registry-mirrors,自动备份非法/空配置文件
|
||||
执行 重启 Docker 如需生效,自动重启 Docker 服务(交互模式需确认)
|
||||
执行 构建镜像 使用源码中的 Dockerfile 构建 frpc-console:${VERSION}
|
||||
执行 清理旧容器 检测并删除已存在的 frpc-console 容器(如有)
|
||||
执行 启动容器 挂载数据卷,--restart=always,--network host
|
||||
执行 写入版本 将版本号写入 data/version.ini
|
||||
验证 验证镜像内容 确认 /app/frpc-console 存在
|
||||
验证 验证数据库 确认 SQLite 数据库可访问
|
||||
验证 验证版本 确认容器内版本与目标版本一致
|
||||
清理 清理旧镜像 保留最近 3 个镜像,自动删除更早版本
|
||||
清理 清理临时文件 删除 /tmp/frpc-console-build
|
||||
```mermaid
|
||||
flowchart TD
|
||||
subgraph 检测阶段
|
||||
A[检测操作系统] --> B[检测CPU架构]
|
||||
B --> C[检测必要工具]
|
||||
C --> D[检测Docker环境]
|
||||
D --> E[检测镜像源配置]
|
||||
end
|
||||
|
||||
subgraph 决策阶段
|
||||
E --> F[状态机计算]
|
||||
F --> G[生成部署计划]
|
||||
G --> H[用户确认]
|
||||
end
|
||||
|
||||
subgraph 执行阶段
|
||||
H --> I[拉取源码]
|
||||
I --> J[配置镜像源]
|
||||
J --> K[重启Docker]
|
||||
K --> L[构建镜像]
|
||||
L --> M[清理旧容器]
|
||||
M --> N[启动容器]
|
||||
N --> O[写入版本]
|
||||
end
|
||||
|
||||
subgraph 验证阶段
|
||||
O --> P[验证镜像内容]
|
||||
P --> Q[验证数据库]
|
||||
Q --> R[验证版本]
|
||||
end
|
||||
|
||||
subgraph 清理阶段
|
||||
R --> S[清理旧镜像]
|
||||
S --> T[清理临时文件]
|
||||
end
|
||||
|
||||
T --> U[部署完成]
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user