- 更新三种部署方式:embed 单容器、./aiops 根目录二进制 - 补充版本管理、release、lghost/aiops 镜像推送说明 - 修正过时的 docker 4 容器、backend/aiops、run.sh start 等描述 - 更新 project-structure、deployment、quick-start 等核心文档
168 lines
3.0 KiB
Markdown
168 lines
3.0 KiB
Markdown
# 快速开始
|
||
|
||
## 环境要求
|
||
|
||
| 工具 | 最低版本 | 说明 |
|
||
|------|---------|------|
|
||
| Go | 1.24+ | 后端编译(SQLite 需 CGO_ENABLED=1) |
|
||
| Node.js | 18+ | 前端构建 |
|
||
| npm | 9+ | 包管理 |
|
||
| gcc/clang | - | CGO 编译 SQLite |
|
||
| Docker | 20+ | 可选,Compose/K8s 部署 |
|
||
|
||
### 检查环境
|
||
|
||
```bash
|
||
go version
|
||
node -v
|
||
./run.sh help
|
||
```
|
||
|
||
## 安装
|
||
|
||
### 1. 克隆仓库
|
||
|
||
```bash
|
||
git clone https://gitee.com/attacker/aiops.git
|
||
cd aiops
|
||
```
|
||
|
||
### 2. 安装依赖
|
||
|
||
```bash
|
||
make install
|
||
# 或
|
||
cd backend && go mod download && cd ..
|
||
cd frontend && npm install && cd ..
|
||
```
|
||
|
||
## 本地开发(推荐)
|
||
|
||
```bash
|
||
chmod +x run.sh
|
||
./run.sh dev
|
||
```
|
||
|
||
输出示例:
|
||
|
||
```
|
||
[OK] 后端已启动 (PID: ..., 端口: 8080)
|
||
[OK] 前端已启动 (PID: ..., 端口: 5173)
|
||
```
|
||
|
||
| 地址 | 说明 |
|
||
|------|------|
|
||
| http://localhost:5173 | 前端界面(Vite 热重载) |
|
||
| http://localhost:8080 | 后端 API |
|
||
| http://localhost:8080/version | 版本信息 |
|
||
| http://localhost:8080/health | 健康检查 |
|
||
|
||
### 默认账号
|
||
|
||
- 用户名:`admin`
|
||
- 密码:`123456`
|
||
|
||
## 常用命令
|
||
|
||
```bash
|
||
./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` |
|
||
| 独立二进制 | `logs/aiops.log` |
|
||
| Docker | `./run.sh docker logs` |
|
||
|
||
## 数据库
|
||
|
||
### 开发模式
|
||
|
||
默认 SQLite,数据库由后端自动迁移(AutoMigrate)。
|
||
|
||
### local 二进制模式
|
||
|
||
```bash
|
||
./aiops --mode local
|
||
# sqlite3.db / redka.db 在项目根目录
|
||
```
|
||
|
||
### 重置 local 数据
|
||
|
||
```bash
|
||
./run.sh binary stop
|
||
rm -f sqlite3.db redka.db
|
||
./run.sh binary upgrade
|
||
```
|
||
|
||
## 常见问题
|
||
|
||
### CGO 编译失败
|
||
|
||
```bash
|
||
export CGO_ENABLED=1
|
||
export GOPROXY=https://goproxy.cn,direct
|
||
```
|
||
|
||
### Go 模块下载慢
|
||
|
||
```bash
|
||
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 |