初始化2
This commit is contained in:
205
content/docs/deploy/upgrade.md
Normal file
205
content/docs/deploy/upgrade.md
Normal file
@@ -0,0 +1,205 @@
|
||||
---
|
||||
title: 版本升级与回滚
|
||||
description: 平滑升级生产环境,数据库迁移方案,紧急回滚操作手册。
|
||||
category: deploy
|
||||
order: 3
|
||||
---
|
||||
|
||||
# 版本升级与回滚
|
||||
|
||||
> 平滑升级生产环境,数据库迁移方案,紧急回滚操作手册。
|
||||
|
||||
## ⚠️ 升级前必读
|
||||
|
||||
### 重要检查清单
|
||||
|
||||
- [ ] 备份数据库
|
||||
- [ ] 查阅版本更新日志
|
||||
- [ ] 在测试环境验证
|
||||
- [ ] 确认回滚方案
|
||||
- [ ] 通知相关人员
|
||||
- [ ] 选择低峰期执行
|
||||
|
||||
### 版本兼容性
|
||||
|
||||
| 当前版本 | 可直接升级到 |
|
||||
|----------|-------------|
|
||||
| 2.0.x | 2.1.x |
|
||||
| 2.1.x | 2.2.x, 2.3.x |
|
||||
| 2.2.x | 2.3.x |
|
||||
| 1.x | 需要先升级到 2.0 |
|
||||
|
||||
## 🚀 升级步骤
|
||||
|
||||
### 准备工作
|
||||
|
||||
```bash
|
||||
# 1. 进入部署目录
|
||||
cd ~/websopy-deploy
|
||||
|
||||
# 2. 备份当前版本配置
|
||||
cp docker-compose.yml docker-compose.yml.bak
|
||||
cp .env .env.bak
|
||||
|
||||
# 3. 备份数据库(必须!)
|
||||
docker-compose exec postgres pg_dump -U websopy > backups/db_backup_$(date +%Y%m%d).sql
|
||||
|
||||
# 4. 备份上传文件
|
||||
tar -czf backups/uploads_$(date +%Y%m%d).tar.gz -C /data/websopy uploads/
|
||||
```
|
||||
|
||||
### 执行升级
|
||||
|
||||
```bash
|
||||
# 1. 停止服务
|
||||
docker-compose down
|
||||
|
||||
# 2. 拉取新版本镜像
|
||||
docker-compose pull
|
||||
|
||||
# 3. 更新代码(如果使用 git 部署)
|
||||
git fetch origin
|
||||
git checkout v2.3.0
|
||||
|
||||
# 4. 检查新版本配置变更
|
||||
git diff v2.2.0 v2.3.0 -- .env.example
|
||||
|
||||
# 5. 合并配置变更
|
||||
nano .env
|
||||
|
||||
# 6. 启动服务
|
||||
docker-compose up -d
|
||||
|
||||
# 7. 执行数据库迁移
|
||||
docker-compose run --rm api websopy migrate
|
||||
```
|
||||
|
||||
### 验证升级
|
||||
|
||||
```bash
|
||||
# 检查服务状态
|
||||
docker-compose ps
|
||||
|
||||
# 检查 API 健康
|
||||
curl http://localhost:3000/api/health
|
||||
|
||||
# 检查版本号
|
||||
docker-compose exec api websopy --version
|
||||
|
||||
# 查看迁移日志
|
||||
docker-compose logs api | grep -i migrate
|
||||
```
|
||||
|
||||
## 🔧 数据库迁移
|
||||
|
||||
### 手动迁移
|
||||
|
||||
```bash
|
||||
# 查看待执行迁移
|
||||
docker-compose run --rm api websopy migrate:status
|
||||
|
||||
# 执行迁移
|
||||
docker-compose run --rm api websopy migrate
|
||||
|
||||
# 回滚上一个迁移
|
||||
docker-compose run --rm api websopy migrate:rollback
|
||||
```
|
||||
|
||||
## ⤵️ 紧急回滚
|
||||
|
||||
### 自动回滚
|
||||
|
||||
```bash
|
||||
# 如果启动失败,查看错误
|
||||
docker-compose logs api
|
||||
|
||||
# 回滚到上一个版本
|
||||
docker-compose down
|
||||
git checkout v2.2.0
|
||||
docker-compose pull
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
### 恢复数据库
|
||||
|
||||
```bash
|
||||
# 停止服务
|
||||
docker-compose down
|
||||
|
||||
# 删除新数据库
|
||||
docker-compose exec postgres dropdb -U websopy websopy
|
||||
|
||||
# 创建空数据库
|
||||
docker-compose exec postgres createdb -U websopy websopy
|
||||
|
||||
# 恢复备份
|
||||
docker exec -i $(docker-compose ps -q postgres) psql -U websopy < backups/db_backup_20240115.sql
|
||||
|
||||
# 启动服务
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
## 📊 版本更新日志
|
||||
|
||||
### v2.3.0(最新)
|
||||
|
||||
**新增功能:**
|
||||
- 🚀 AI 流式输出优化,延迟降低 50%
|
||||
- 📊 新增数据看板组件
|
||||
- 🔔 支持自定义 Webhook 事件
|
||||
|
||||
**Breaking Changes:**
|
||||
- ⚠️ API `/ai/chat` 端点参数变更
|
||||
- ⚠️ 环境变量 `AI_MODEL` 重命名为 `DEFAULT_MODEL`
|
||||
|
||||
### v2.2.0
|
||||
|
||||
**新增功能:**
|
||||
- 💬 多语言支持
|
||||
- 📱 移动端优化
|
||||
- 🔐 SSO 单点登录
|
||||
|
||||
### v2.1.0
|
||||
|
||||
**新增功能:**
|
||||
- 🤖 AI Agent 功能
|
||||
- 📚 RAG 知识库
|
||||
- ⚡ 工作流自动化
|
||||
|
||||
## 🧪 测试环境验证
|
||||
|
||||
### 测试清单
|
||||
|
||||
- [ ] 首页访问正常
|
||||
- [ ] 用户登录/注册
|
||||
- [ ] 主要功能操作
|
||||
- [ ] API 接口调用
|
||||
- [ ] Webhook 接收
|
||||
- [ ] 性能无明显下降
|
||||
|
||||
## ❓ 常见问题
|
||||
|
||||
### Q: 迁移失败怎么办?
|
||||
|
||||
1. 停止所有服务
|
||||
2. 恢复数据库备份
|
||||
3. 检查迁移脚本错误
|
||||
4. 联系技术支持
|
||||
|
||||
### Q: 镜像拉取失败?
|
||||
|
||||
```bash
|
||||
# 使用国内镜像源
|
||||
nano /etc/docker/daemon.json
|
||||
```
|
||||
|
||||
```json
|
||||
{
|
||||
"registry-mirrors": ["https://mirror.ccs.tencentyun.com"]
|
||||
}
|
||||
```
|
||||
|
||||
```bash
|
||||
sudo systemctl restart docker
|
||||
docker-compose pull
|
||||
```
|
||||
Reference in New Issue
Block a user