Files
ops/docs/本地开发与验收部署说明.md
2026-06-21 18:27:35 +08:00

138 lines
4.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# OPS 本地开发与验收部署说明
## 1. 文档目标
本文区分本地开发、联调验收和 Linux/麒麟部署三类场景,避免把模板 README 直接作为交付部署手册。
当前仓库尚未保留实际 `server/``web/` 工程。后续实际工程创建后,应在对应目录补充更细的运行说明。
## 2. 场景边界
| 场景 | 目标 | 主要使用者 | 命令口径 |
| --- | --- | --- | --- |
| 本地开发 | 开发、调试、单元测试、接口联调 | 开发工程师 | Windows PowerShell |
| 联调验收 | 连接真实后端 API准备演示数据和证据 | 交付工程师、测试人员 | Windows PowerShell 为主 |
| 生产或验收部署 | 在 Linux/麒麟内网环境部署服务 | 部署工程师 | 本文只写步骤和检查项,不写 Linux 命令示例 |
## 3. 本地开发目录
| 目录 | 职责 | 状态 |
| --- | --- | --- |
| `server/` | 实际后端工程,基于 `templates/server_sample/` 初始化后继续改造 | 尚未创建 |
| `web/` | 实际前端工程,基于 `templates/front_sample/standard` 初始化 | 尚未创建 |
| `deploy/` | 部署、迁移、回滚、烟测说明和配置示例 | 已创建 |
| `docs/` | 需求、架构、验收和测试文档 | 已存在 |
模板目录默认只读,不作为最终交付目录。
## 4. 初始化实际工程
后端已初始化。若在干净仓库中重新初始化,可参考:
```powershell
Copy-Item -LiteralPath .\templates\server_sample -Destination .\server -Recurse
```
前端初始化:
```powershell
Copy-Item -LiteralPath .\templates\front_sample\standard -Destination .\web -Recurse
```
初始化后需要检查:
| 检查项 | 要求 |
| --- | --- |
| 配置示例 | 只提交 `etc/*.example.yaml``*.example.yaml``.env.example`,不提交真实密码。 |
| 目录结构 | 后端延续 `cmd/``internal/config/``internal/logic/``internal/models/``internal/routers/`。 |
| 前端结构 | API 放入 `src/api/`,页面放入 `src/views/`,状态放入 Pinia。 |
| 模板引用 | 业务代码不直接写回 `templates/`。 |
## 5. 本地后端开发
常用命令:
```powershell
Set-Location .\server
go mod tidy
go test ./...
go vet ./...
gofmt -w .
go run .\cmd\main\main.go
```
迁移命令按实际 CLI 保留:
```powershell
Set-Location .\server
go run .\cmd\cli\main.go migrate
```
后端重新初始化后,应只提交 `server/etc/*.example.yaml` 或等价 `.example` 配置文件。本地真实配置应复制为 `server/etc/ops_dev.yaml` 等文件后再填写,并在 `server/.gitignore` 中排除。
后端本地配置要求:
| 配置 | 要求 |
| --- | --- |
| PostgreSQL | 本地可使用开发库;测试不能用 mock 数据库。 |
| SQLite 内存库 | 仅用于后端测试,验证真实 SQL 行为。 |
| 时序数据库 | 使用 TDengine 开源版;本地和验收环境均通过适配层配置连接信息,不在代码中写死地址或凭据。 |
| 通知渠道 | 本地使用测试账号或受控沙箱,不能提交真实凭据。 |
| traceId | 所有接口和任务日志必须可关联。 |
## 6. 本地前端开发
常用命令:
```powershell
Set-Location .\web
pnpm install
pnpm dev
pnpm type:check
pnpm lint
pnpm build
```
前端联调要求:
| 项目 | 要求 |
| --- | --- |
| API 地址 | 通过本地配置读取,不写死到组件中。 |
| 状态覆盖 | 页面按 `docs/首期UI状态覆盖.md` 实现。 |
| mock 数据 | 只用于独立调试,验收必须连接真实后端 API。 |
| 文案 | 按模板 i18n 方式维护,不在组件中散落重复字符串。 |
## 7. Linux/麒麟验收部署检查项
部署说明放入 `deploy/README.md`。验收前必须确认:
| 检查项 | 要求 |
| --- | --- |
| 操作系统 | 明确 Linux 或麒麟版本、CPU 架构、补丁状态。 |
| 运行用户 | 后端、前端静态服务、数据库、时序库使用独立低权限账号。 |
| 网络策略 | 明确 Web 端口、API 端口、数据库端口、Trap/Syslog 接收端口和防火墙策略。 |
| 数据库 | PostgreSQL 版本、初始化库、备份路径、恢复演练方式。 |
| 时序库 | 选定产品版本、部署形态、保留策略、备份恢复方式。 |
| 配置 | 只使用现场配置文件,不把真实凭据提交进仓库。 |
| 日志 | 应用日志、审计日志、采集日志、通知日志有保存周期。 |
| 回滚 | 后端二进制、前端静态包、数据库迁移均有回滚方案。 |
| 烟测 | 登录、资源列表、告警列表、通知记录、工单流转、报表查询可验证。 |
## 8. 验收材料目录
```text
验收证据/
01-首页总览/
02-资源监控/
03-H3C网络设备/
04-告警闭环/
05-通知记录/
06-工单闭环/
07-报表大屏/
08-权限审计/
09-3D机房接口/
10-部署与烟测/
```
证据目录不要求当前仓库立即创建。正式验收时应保存截图、录像、接口响应、日志和数据库查询结果。