docs: 同步 README 与 docs 至最新部署与版本方案
- 更新三种部署方式:embed 单容器、./aiops 根目录二进制 - 补充版本管理、release、lghost/aiops 镜像推送说明 - 修正过时的 docker 4 容器、backend/aiops、run.sh start 等描述 - 更新 project-structure、deployment、quick-start 等核心文档
This commit is contained in:
1 parent
9f5ce249f1
commit
286decf0b0
8 files changed
+593
-487
No files matched your search
+97
-92
@@ -4,17 +4,18 @@
|
||||
|
||||
| 工具 | 最低版本 | 说明 |
|
||||
|------|---------|------|
|
||||
| Go | 1.21+ | 后端编译运行(需 CGO 支持 SQLite) |
|
||||
| Go | 1.24+ | 后端编译(SQLite 需 CGO_ENABLED=1) |
|
||||
| Node.js | 18+ | 前端构建 |
|
||||
| npm | 9+ | 包管理 |
|
||||
| gcc/clang | - | CGO 编译 SQLite 需要 |
|
||||
| gcc/clang | - | CGO 编译 SQLite |
|
||||
| Docker | 20+ | 可选,Compose/K8s 部署 |
|
||||
|
||||
### 检查环境
|
||||
|
||||
```bash
|
||||
go version # >= 1.21
|
||||
node -v # >= 18
|
||||
gcc --version # macOS 自带 clang
|
||||
go version
|
||||
node -v
|
||||
./run.sh help
|
||||
```
|
||||
|
||||
## 安装
|
||||
@@ -30,134 +31,138 @@ cd aiops
|
||||
|
||||
```bash
|
||||
make install
|
||||
# 或手动安装
|
||||
# 或
|
||||
cd backend && go mod download && cd ..
|
||||
cd frontend cd app &&cd app && npm install && cd ..
|
||||
cd frontend && npm install && cd ..
|
||||
```
|
||||
|
||||
### 3. 配置(可选)
|
||||
|
||||
默认使用 SQLite,无需任何额外配置即可启动。
|
||||
|
||||
如需使用 MySQL 等其他数据库,编辑 `backend/config.yaml`:
|
||||
|
||||
```yaml
|
||||
database:
|
||||
driver: mysql # 改为 mysql / postgres
|
||||
host: localhost
|
||||
port: 3306
|
||||
user: root
|
||||
password: your_password
|
||||
dbname: aiops
|
||||
```
|
||||
|
||||
## 启动
|
||||
|
||||
### 方式一:一键启动(推荐)
|
||||
## 本地开发(推荐)
|
||||
|
||||
```bash
|
||||
chmod +x run.sh
|
||||
./run.sh start
|
||||
./run.sh dev
|
||||
```
|
||||
|
||||
输出示例:
|
||||
|
||||
```
|
||||
[INFO] ========== AIOps 启动脚本 ==========
|
||||
[INFO] 正在启动后端服务...
|
||||
[INFO] 编译 Go 程序...
|
||||
[SUCCESS] 后端服务已启动 (PID: 12345, 端口: 8080)
|
||||
[INFO] 正在启动前端服务...
|
||||
[SUCCESS] 前端服务已启动 (PID: 12346, 端口: 5173)
|
||||
[SUCCESS] ========== 所有服务已启动 ==========
|
||||
[INFO] 前端地址: http://localhost:5173
|
||||
[INFO] 后端地址: http://localhost:8080
|
||||
[INFO] 健康检查: http://localhost:8080/health
|
||||
[OK] 后端已启动 (PID: ..., 端口: 8080)
|
||||
[OK] 前端已启动 (PID: ..., 端口: 5173)
|
||||
```
|
||||
|
||||
### 方式二:分别启动
|
||||
|
||||
```bash
|
||||
# 仅后端
|
||||
./run.sh backend
|
||||
|
||||
# 仅前端
|
||||
./run.sh frontend
|
||||
```
|
||||
|
||||
### 方式三:使用 Makefile
|
||||
|
||||
```bash
|
||||
make dev # 启动
|
||||
make status # 查看状态
|
||||
make stop # 停止
|
||||
```
|
||||
|
||||
## 访问
|
||||
|
||||
| 地址 | 说明 |
|
||||
|------|------|
|
||||
| http://localhost:5173 | 前端界面 |
|
||||
| http://localhost:8080/health | 后端健康检查 |
|
||||
| http://localhost:5173 | 前端界面(Vite 热重载) |
|
||||
| http://localhost:8080 | 后端 API |
|
||||
| http://localhost:8080/version | 版本信息 |
|
||||
| http://localhost:8080/api/v1/auth/login | 登录接口 |
|
||||
| http://localhost:8080/health | 健康检查 |
|
||||
|
||||
### 默认账号
|
||||
|
||||
- 用户名:`admin`
|
||||
- 密码:`123456`
|
||||
|
||||
## 常用命令
|
||||
|
||||
```bash
|
||||
./run.sh status # 查看服务状态
|
||||
./run.sh stop # 停止所有服务
|
||||
./run.sh restart # 重启所有服务
|
||||
./run.sh help # 查看帮助
|
||||
|
||||
make logs # 查看实时日志
|
||||
make build # 构建生产包
|
||||
make clean # 清理构建产物
|
||||
./run.sh dev # 启动开发环境
|
||||
./run.sh stop # 停止
|
||||
./run.sh restart # 重启
|
||||
./run.sh status # 查看状态
|
||||
./run.sh logs # 实时日志
|
||||
./run.sh help # 完整帮助
|
||||
```
|
||||
|
||||
## 独立二进制(本机试用)
|
||||
|
||||
```bash
|
||||
./run.sh build tag v1.0.0 # 编译到 ./aiops
|
||||
./aiops version
|
||||
./aiops --mode local # SQLite + redka,零外部依赖
|
||||
```
|
||||
|
||||
数据文件与二进制同级:`./sqlite3.db`、`./redka.db`。
|
||||
|
||||
## Docker Compose(单机演示)
|
||||
|
||||
```bash
|
||||
./run.sh docker up
|
||||
# 访问 http://localhost:8080
|
||||
```
|
||||
|
||||
## 发版(构建 + 推送镜像)
|
||||
|
||||
```bash
|
||||
docker login
|
||||
./run.sh release v1.5.0
|
||||
```
|
||||
|
||||
镜像:`lghost/aiops:v1.5.0`
|
||||
|
||||
## 日志位置
|
||||
|
||||
| 服务 | 日志文件 |
|
||||
|------|---------|
|
||||
| 后端 | `backend/logs/server.log` |
|
||||
| 前端 | `frontend/logs/dev.log` |
|
||||
| 数据库 | `backend/data/aiops.db`(SQLite 文件) |
|
||||
| 场景 | 日志 |
|
||||
|------|------|
|
||||
| 本地开发后端 | `backend/logs/server.log` |
|
||||
| 本地开发前端 | `frontend/logs/dev.log` |
|
||||
| 独立二进制 | `logs/aiops.log` |
|
||||
| Docker | `./run.sh docker logs` |
|
||||
|
||||
## 数据库
|
||||
|
||||
默认使用 SQLite,数据库文件位于 `backend/data/aiops.db`,首次启动时自动创建表结构(AutoMigrate)。
|
||||
### 开发模式
|
||||
|
||||
### 重置数据库
|
||||
默认 SQLite,数据库由后端自动迁移(AutoMigrate)。
|
||||
|
||||
### local 二进制模式
|
||||
|
||||
```bash
|
||||
./run.sh stop
|
||||
rm -f backend/data/aiops.db
|
||||
./run.sh start
|
||||
./aiops --mode local
|
||||
# sqlite3.db / redka.db 在项目根目录
|
||||
```
|
||||
|
||||
### 重置 local 数据
|
||||
|
||||
```bash
|
||||
./run.sh binary stop
|
||||
rm -f sqlite3.db redka.db
|
||||
./run.sh binary upgrade
|
||||
```
|
||||
|
||||
## 常见问题
|
||||
|
||||
### Q: CGO 编译失败?
|
||||
|
||||
SQLite 需要 CGO 支持。确保环境变量 `CGO_ENABLED=1`:
|
||||
### CGO 编译失败
|
||||
|
||||
```bash
|
||||
export CGO_ENABLED=1
|
||||
```
|
||||
|
||||
### Q: Go 模块下载慢?
|
||||
|
||||
设置国内代理:
|
||||
|
||||
```bash
|
||||
export GOPROXY=https://goproxy.cn,direct
|
||||
```
|
||||
|
||||
### Q: 端口被占用?
|
||||
### Go 模块下载慢
|
||||
|
||||
```bash
|
||||
./run.sh stop # 先停止
|
||||
./run.sh start # 再启动
|
||||
# 或强制释放端口
|
||||
export GOPROXY=https://goproxy.cn,direct
|
||||
export GOTOOLCHAIN=local
|
||||
```
|
||||
|
||||
### 端口被占用
|
||||
|
||||
```bash
|
||||
./run.sh stop
|
||||
# 或
|
||||
lsof -ti:8080 | xargs kill -9
|
||||
lsof -ti:5173 | xargs kill -9
|
||||
```
|
||||
|
||||
### Mac 编译的二进制无法在 Linux 运行
|
||||
|
||||
`./run.sh build` 在 Mac 上产出 darwin 二进制。Linux 部署请使用:
|
||||
|
||||
- `./run.sh release v1.x`(Docker 镜像)
|
||||
- 或在 Linux 服务器上执行 `./run.sh build`
|
||||
|
||||
## 下一步
|
||||
|
||||
- [部署指南](./deployment.md) — 生产环境、版本管理、K8s
|
||||
- [开发规范](./development-guide.md) — 代码规范
|
||||
- [API 接口](./api-reference.md) — 后端 API
|
||||
Reference in new issue
Block a user