102 lines
2.1 KiB
Markdown
102 lines
2.1 KiB
Markdown
|
|
# 部署指南
|
|||
|
|
|
|||
|
|
## Docker Compose 部署(推荐)
|
|||
|
|
|
|||
|
|
完整的前后端分离部署方案,包含前端、后端和 PostgreSQL 数据库,一键启动所有服务。
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# 1. 克隆项目
|
|||
|
|
git clone https://github.com/lintsinghua/XCodeReviewer.git
|
|||
|
|
cd XCodeReviewer
|
|||
|
|
|
|||
|
|
# 2. 配置后端环境变量
|
|||
|
|
cp backend/env.example backend/.env
|
|||
|
|
# 编辑 backend/.env 文件,配置 LLM API Key 等参数
|
|||
|
|
|
|||
|
|
# 3. 使用 Docker Compose 启动所有服务
|
|||
|
|
docker-compose up -d
|
|||
|
|
|
|||
|
|
# 4. 访问应用
|
|||
|
|
# 前端: http://localhost:5173
|
|||
|
|
# 后端 API: http://localhost:8000
|
|||
|
|
# API 文档: http://localhost:8000/docs
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 服务说明
|
|||
|
|
|
|||
|
|
| 服务 | 端口 | 说明 |
|
|||
|
|
|------|------|------|
|
|||
|
|
| `frontend` | 5173 | React 前端应用(开发模式) |
|
|||
|
|
| `backend` | 8000 | FastAPI 后端 API |
|
|||
|
|
| `db` | 5432 | PostgreSQL 数据库 |
|
|||
|
|
|
|||
|
|
### 生产环境部署
|
|||
|
|
|
|||
|
|
如需生产环境部署,可使用根目录的 `Dockerfile` 构建前端静态文件并通过 Nginx 提供服务:
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# 构建前端生产镜像
|
|||
|
|
docker build -t xcodereviewer-frontend .
|
|||
|
|
|
|||
|
|
# 运行前端容器(端口 8888)
|
|||
|
|
docker run -d -p 8888:80 --name xcodereviewer-frontend xcodereviewer-frontend
|
|||
|
|
|
|||
|
|
# 后端和数据库仍使用 docker-compose
|
|||
|
|
docker-compose up -d db backend
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 本地开发部署
|
|||
|
|
|
|||
|
|
适合需要开发或自定义修改的场景。
|
|||
|
|
|
|||
|
|
### 环境要求
|
|||
|
|
|
|||
|
|
- Node.js 18+
|
|||
|
|
- Python 3.13+
|
|||
|
|
- PostgreSQL 15+
|
|||
|
|
- pnpm 8+ (推荐) 或 npm/yarn
|
|||
|
|
|
|||
|
|
### 后端启动
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# 1. 进入后端目录
|
|||
|
|
cd backend
|
|||
|
|
|
|||
|
|
# 2. 创建虚拟环境(推荐使用 uv)
|
|||
|
|
uv venv
|
|||
|
|
source .venv/bin/activate # Linux/macOS
|
|||
|
|
# 或 .venv\Scripts\activate # Windows
|
|||
|
|
|
|||
|
|
# 3. 安装依赖
|
|||
|
|
uv pip install -e .
|
|||
|
|
|
|||
|
|
# 4. 配置环境变量
|
|||
|
|
cp env.example .env
|
|||
|
|
# 编辑 .env 文件,配置数据库和 LLM 参数
|
|||
|
|
|
|||
|
|
# 5. 初始化数据库
|
|||
|
|
alembic upgrade head
|
|||
|
|
|
|||
|
|
# 6. 启动后端服务
|
|||
|
|
uvicorn app.main:app --reload --port 8000
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 前端启动
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# 1. 进入前端目录
|
|||
|
|
cd frontend
|
|||
|
|
|
|||
|
|
# 2. 安装依赖
|
|||
|
|
pnpm install # 或 npm install / yarn install
|
|||
|
|
|
|||
|
|
# 3. 配置环境变量(可选,也可使用运行时配置)
|
|||
|
|
cp .env.example .env
|
|||
|
|
|
|||
|
|
# 4. 启动开发服务器
|
|||
|
|
pnpm dev
|
|||
|
|
|
|||
|
|
# 5. 访问应用
|
|||
|
|
# 浏览器打开 http://localhost:5173
|
|||
|
|
```
|