2025-09-16 17:05:50 +01:00
|
|
|
|
# TSP智能助手部署与更新指南
|
|
|
|
|
|
|
|
|
|
|
|
## 📋 目录
|
|
|
|
|
|
- [部署策略](#部署策略)
|
|
|
|
|
|
- [版本控制](#版本控制)
|
|
|
|
|
|
- [更新方式](#更新方式)
|
|
|
|
|
|
- [环境管理](#环境管理)
|
|
|
|
|
|
- [备份与回滚](#备份与回滚)
|
|
|
|
|
|
- [监控与通知](#监控与通知)
|
|
|
|
|
|
- [最佳实践](#最佳实践)
|
|
|
|
|
|
|
|
|
|
|
|
## 🚀 部署策略
|
|
|
|
|
|
|
|
|
|
|
|
### 1. 多环境部署架构
|
|
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
开发环境 (Development)
|
|
|
|
|
|
↓ 测试通过
|
|
|
|
|
|
测试环境 (Staging)
|
|
|
|
|
|
↓ 验证通过
|
|
|
|
|
|
生产环境 (Production)
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### 2. 环境配置
|
|
|
|
|
|
|
|
|
|
|
|
| 环境 | 路径 | 服务名 | 自动重启 | 用途 |
|
|
|
|
|
|
|------|------|--------|----------|------|
|
|
|
|
|
|
| development | `./dev_deploy` | 无 | 否 | 本地开发 |
|
|
|
|
|
|
| staging | `/opt/tsp_assistant_staging` | `tsp_assistant_staging` | 是 | 功能测试 |
|
|
|
|
|
|
| production | `/opt/tsp_assistant` | `tsp_assistant` | 是 | 生产服务 |
|
|
|
|
|
|
|
|
|
|
|
|
## 🔄 版本控制
|
|
|
|
|
|
|
|
|
|
|
|
### 版本号规则
|
|
|
|
|
|
- **主版本号 (Major)**: 重大功能变更,可能不兼容
|
|
|
|
|
|
- **次版本号 (Minor)**: 新功能添加,向后兼容
|
|
|
|
|
|
- **修订号 (Patch)**: 错误修复,向后兼容
|
|
|
|
|
|
|
|
|
|
|
|
### 版本管理命令
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
# 查看当前版本
|
|
|
|
|
|
python version.py version
|
|
|
|
|
|
|
|
|
|
|
|
# 增加版本号
|
|
|
|
|
|
python version.py increment --type patch # 1.2.0 -> 1.2.1
|
|
|
|
|
|
python version.py increment --type minor # 1.2.0 -> 1.3.0
|
|
|
|
|
|
python version.py increment --type major # 1.2.0 -> 2.0.0
|
|
|
|
|
|
|
|
|
|
|
|
# 添加变更日志
|
|
|
|
|
|
python version.py changelog --message "修复系统性能趋势图表显示问题"
|
|
|
|
|
|
|
|
|
|
|
|
# 创建Git标签
|
|
|
|
|
|
python version.py tag --message "Release v1.2.0"
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
## 🔧 更新方式
|
|
|
|
|
|
|
|
|
|
|
|
### 1. 热更新 (Hot Update)
|
|
|
|
|
|
**适用场景**: 前端文件、配置文件、非核心Python文件
|
|
|
|
|
|
**优点**: 无需重启服务,用户体验好
|
|
|
|
|
|
**缺点**: 有限制,不能更新核心逻辑
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
# 热更新
|
|
|
|
|
|
python scripts/update_manager.py hot-update --source ./new_version --environment production
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
**支持热更新的文件**:
|
|
|
|
|
|
- `src/web/static/js/dashboard.js`
|
|
|
|
|
|
- `src/web/static/css/style.css`
|
|
|
|
|
|
- `src/web/templates/dashboard.html`
|
|
|
|
|
|
- `src/web/app.py` (部分)
|
|
|
|
|
|
- 配置文件
|
|
|
|
|
|
|
|
|
|
|
|
### 2. 完整更新 (Full Update)
|
|
|
|
|
|
**适用场景**: 核心逻辑变更、数据库结构变更、依赖更新
|
|
|
|
|
|
**优点**: 完整更新,确保一致性
|
|
|
|
|
|
**缺点**: 需要重启服务
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
# 完整更新
|
|
|
|
|
|
python scripts/update_manager.py full-update --source ./new_version --environment production
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### 3. 自动更新 (Auto Update)
|
|
|
|
|
|
**智能选择**: 优先尝试热更新,失败则进行完整更新
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
# 自动更新
|
|
|
|
|
|
python scripts/update_manager.py auto-update --source ./new_version --environment production
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
## 🌍 环境管理
|
|
|
|
|
|
|
|
|
|
|
|
### 部署到不同环境
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
# 开发环境
|
|
|
|
|
|
python scripts/update_manager.py auto-update --source ./new_version --environment development
|
|
|
|
|
|
|
|
|
|
|
|
# 测试环境
|
|
|
|
|
|
python scripts/update_manager.py auto-update --source ./new_version --environment staging
|
|
|
|
|
|
|
|
|
|
|
|
# 生产环境
|
|
|
|
|
|
python scripts/update_manager.py auto-update --source ./new_version --environment production
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### 环境检查
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
# 检查更新可用性
|
|
|
|
|
|
python scripts/update_manager.py check --source ./new_version --environment production
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
## 💾 备份与回滚
|
|
|
|
|
|
|
|
|
|
|
|
### 自动备份
|
|
|
|
|
|
- 每次更新前自动创建备份
|
|
|
|
|
|
- 备份包含应用文件和数据库
|
|
|
|
|
|
- 备份信息记录在 `backup_info.json`
|
|
|
|
|
|
|
|
|
|
|
|
### 手动备份
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
# 创建备份
|
|
|
|
|
|
python scripts/update_manager.py create-backup --environment production
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### 回滚操作
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
# 列出所有备份
|
|
|
|
|
|
python scripts/update_manager.py list-backups
|
|
|
|
|
|
|
|
|
|
|
|
# 回滚到指定备份
|
|
|
|
|
|
python scripts/update_manager.py rollback --backup tsp_assistant_backup_20250916_163000 --environment production
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### 备份信息
|
|
|
|
|
|
每个备份包含:
|
|
|
|
|
|
- 应用文件完整副本
|
|
|
|
|
|
- 数据库文件
|
|
|
|
|
|
- 版本信息
|
|
|
|
|
|
- Git提交哈希
|
|
|
|
|
|
- 备份时间戳
|
|
|
|
|
|
|
|
|
|
|
|
## 📊 监控与通知
|
|
|
|
|
|
|
|
|
|
|
|
### 健康检查
|
|
|
|
|
|
- 更新后自动执行健康检查
|
|
|
|
|
|
- 检查服务是否正常启动
|
|
|
|
|
|
- 验证API接口可用性
|
|
|
|
|
|
|
|
|
|
|
|
### 通知机制
|
|
|
|
|
|
- 更新成功/失败通知
|
|
|
|
|
|
- 回滚操作通知
|
|
|
|
|
|
- 系统状态监控
|
|
|
|
|
|
|
|
|
|
|
|
## 🎯 最佳实践
|
|
|
|
|
|
|
|
|
|
|
|
### 1. 更新流程
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
# 1. 开发完成,提交代码
|
|
|
|
|
|
git add .
|
|
|
|
|
|
git commit -m "feat: 添加新功能"
|
|
|
|
|
|
git push
|
|
|
|
|
|
|
|
|
|
|
|
# 2. 更新版本号
|
|
|
|
|
|
python version.py increment --type minor
|
|
|
|
|
|
python version.py changelog --message "添加新功能"
|
|
|
|
|
|
|
|
|
|
|
|
# 3. 创建发布标签
|
2025-09-19 19:32:42 +01:00
|
|
|
|
python version.py tag --message "Release v1.4.0"
|
2025-09-16 17:05:50 +01:00
|
|
|
|
|
|
|
|
|
|
# 4. 部署到测试环境
|
|
|
|
|
|
python scripts/update_manager.py auto-update --source . --environment staging
|
|
|
|
|
|
|
|
|
|
|
|
# 5. 测试验证通过后,部署到生产环境
|
|
|
|
|
|
python scripts/update_manager.py auto-update --source . --environment production
|
|
|
|
|
|
```
|
|
|
|
|
|
|
2025-09-19 19:32:42 +01:00
|
|
|
|
### 1.1. 飞书集成部署前准备
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
# 1. 配置飞书应用
|
|
|
|
|
|
# - 在飞书开放平台创建企业自建应用
|
|
|
|
|
|
# - 获取app_id和app_secret
|
|
|
|
|
|
# - 配置应用权限(读取多维表格)
|
|
|
|
|
|
|
|
|
|
|
|
# 2. 更新配置文件
|
|
|
|
|
|
# 编辑 config/integrations_config.json
|
|
|
|
|
|
{
|
|
|
|
|
|
"feishu": {
|
|
|
|
|
|
"app_id": "your-app-id",
|
|
|
|
|
|
"app_secret": "your-app-secret",
|
|
|
|
|
|
"app_token": "your-app-token",
|
|
|
|
|
|
"table_id": "your-table-id",
|
|
|
|
|
|
"status": "active"
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
# 3. 初始化数据库(包含新字段)
|
|
|
|
|
|
python init_database.py
|
|
|
|
|
|
|
|
|
|
|
|
# 4. 测试飞书连接
|
|
|
|
|
|
# 访问主仪表板的"飞书同步"标签页
|
|
|
|
|
|
# 点击"测试连接"验证配置
|
|
|
|
|
|
```
|
|
|
|
|
|
|
2025-09-16 17:05:50 +01:00
|
|
|
|
### 2. 安全更新
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
# 生产环境更新前先备份
|
|
|
|
|
|
python scripts/update_manager.py create-backup --environment production
|
|
|
|
|
|
|
|
|
|
|
|
# 使用自动更新(包含回滚机制)
|
|
|
|
|
|
python scripts/update_manager.py auto-update --source ./new_version --environment production
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### 3. 紧急回滚
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
# 快速回滚到最新备份
|
|
|
|
|
|
python scripts/update_manager.py rollback --backup $(python scripts/update_manager.py list-backups | head -1 | cut -d' ' -f2) --environment production
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### 4. 版本管理最佳实践
|
|
|
|
|
|
|
|
|
|
|
|
- **开发阶段**: 使用patch版本号
|
|
|
|
|
|
- **功能完成**: 使用minor版本号
|
|
|
|
|
|
- **重大变更**: 使用major版本号
|
|
|
|
|
|
- **每次发布**: 创建Git标签
|
|
|
|
|
|
- **重要更新**: 记录详细变更日志
|
|
|
|
|
|
|
|
|
|
|
|
## 🛠️ 工具集成
|
|
|
|
|
|
|
|
|
|
|
|
### CI/CD 集成
|
|
|
|
|
|
|
|
|
|
|
|
```yaml
|
|
|
|
|
|
# GitHub Actions 示例
|
|
|
|
|
|
name: Deploy TSP Assistant
|
|
|
|
|
|
on:
|
|
|
|
|
|
push:
|
|
|
|
|
|
tags: ['v*']
|
|
|
|
|
|
jobs:
|
|
|
|
|
|
deploy:
|
|
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
|
|
steps:
|
|
|
|
|
|
- uses: actions/checkout@v2
|
|
|
|
|
|
- name: Deploy to Staging
|
|
|
|
|
|
run: |
|
|
|
|
|
|
python scripts/update_manager.py auto-update --source . --environment staging
|
|
|
|
|
|
- name: Run Tests
|
|
|
|
|
|
run: |
|
|
|
|
|
|
# 运行自动化测试
|
|
|
|
|
|
- name: Deploy to Production
|
|
|
|
|
|
if: success()
|
|
|
|
|
|
run: |
|
|
|
|
|
|
python scripts/update_manager.py auto-update --source . --environment production
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### Docker 集成
|
|
|
|
|
|
|
|
|
|
|
|
```dockerfile
|
|
|
|
|
|
# Dockerfile 示例
|
|
|
|
|
|
FROM python:3.9-slim
|
|
|
|
|
|
WORKDIR /app
|
|
|
|
|
|
COPY requirements.txt .
|
|
|
|
|
|
RUN pip install -r requirements.txt
|
|
|
|
|
|
COPY . .
|
|
|
|
|
|
EXPOSE 5000
|
|
|
|
|
|
CMD ["python", "start_dashboard.py"]
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
## 🚨 故障处理
|
|
|
|
|
|
|
|
|
|
|
|
### 常见问题
|
|
|
|
|
|
|
|
|
|
|
|
1. **更新失败**
|
|
|
|
|
|
- 检查依赖是否正确安装
|
|
|
|
|
|
- 验证数据库迁移是否成功
|
|
|
|
|
|
- 查看服务日志
|
|
|
|
|
|
|
|
|
|
|
|
2. **回滚失败**
|
|
|
|
|
|
- 确认备份文件完整性
|
|
|
|
|
|
- 检查文件权限
|
|
|
|
|
|
- 验证服务配置
|
|
|
|
|
|
|
|
|
|
|
|
3. **健康检查失败**
|
|
|
|
|
|
- 检查服务是否正常启动
|
|
|
|
|
|
- 验证端口是否被占用
|
|
|
|
|
|
- 查看应用日志
|
|
|
|
|
|
|
2025-09-19 19:32:42 +01:00
|
|
|
|
4. **飞书集成问题**
|
|
|
|
|
|
- 检查飞书应用权限配置
|
|
|
|
|
|
- 验证app_token和table_id是否正确
|
|
|
|
|
|
- 确认网络连接和API访问权限
|
|
|
|
|
|
- 查看飞书同步日志
|
|
|
|
|
|
|
|
|
|
|
|
5. **数据库字段迁移失败**
|
|
|
|
|
|
- 检查数据库连接状态
|
|
|
|
|
|
- 验证字段映射配置
|
|
|
|
|
|
- 确认数据库权限
|
|
|
|
|
|
- 查看数据库初始化日志
|
|
|
|
|
|
|
2025-09-16 17:05:50 +01:00
|
|
|
|
### 紧急处理
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
# 停止服务
|
|
|
|
|
|
sudo systemctl stop tsp_assistant
|
|
|
|
|
|
|
|
|
|
|
|
# 手动回滚
|
|
|
|
|
|
sudo rm -rf /opt/tsp_assistant
|
|
|
|
|
|
sudo cp -r ./backups/tsp_assistant_backup_20250916_163000/app /opt/tsp_assistant
|
|
|
|
|
|
sudo chown -R www-data:www-data /opt/tsp_assistant
|
|
|
|
|
|
sudo systemctl start tsp_assistant
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
## 📝 更新记录
|
|
|
|
|
|
|
2025-09-19 19:32:42 +01:00
|
|
|
|
### v1.4.0 (2025-09-19)
|
|
|
|
|
|
- ✅ 飞书集成功能:支持飞书多维表格数据同步
|
|
|
|
|
|
- ✅ 页面功能合并:飞书同步页面合并到主仪表板
|
|
|
|
|
|
- ✅ 数据库架构优化:扩展工单表字段,支持飞书数据
|
|
|
|
|
|
- ✅ 代码重构优化:大文件拆分,降低运行风险
|
|
|
|
|
|
- ✅ 字段映射完善:智能映射飞书字段到本地数据库
|
|
|
|
|
|
- ✅ 数据库初始化改进:集成字段迁移到初始化流程
|
|
|
|
|
|
|
|
|
|
|
|
### v1.3.0 (2025-09-17)
|
|
|
|
|
|
- ✅ 数据库架构优化:MySQL主数据库+SQLite备份系统
|
|
|
|
|
|
- ✅ 工单详情API修复:解决数据库会话管理问题
|
|
|
|
|
|
- ✅ 备份管理系统:自动备份MySQL数据到SQLite
|
|
|
|
|
|
- ✅ 数据库状态监控:实时监控MySQL和SQLite状态
|
|
|
|
|
|
- ✅ 备份管理API:支持数据备份和恢复操作
|
|
|
|
|
|
|
2025-09-16 17:05:50 +01:00
|
|
|
|
### v1.2.0 (2025-09-16)
|
|
|
|
|
|
- ✅ 系统设置扩展:API管理、模型参数配置、端口管理
|
|
|
|
|
|
- ✅ 真实数据分析:修复性能趋势图表显示
|
|
|
|
|
|
- ✅ 工单AI建议功能
|
|
|
|
|
|
- ✅ 知识库搜索优化
|
|
|
|
|
|
- ✅ Agent管理改进
|
|
|
|
|
|
|
|
|
|
|
|
### v1.1.0 (2025-09-16)
|
|
|
|
|
|
- ✅ 工单AI建议功能
|
|
|
|
|
|
- ✅ 知识库搜索优化
|
|
|
|
|
|
- ✅ Agent管理改进
|
|
|
|
|
|
|
|
|
|
|
|
### v1.0.0 (2024-01-01)
|
|
|
|
|
|
- ✅ 初始版本发布
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
**注意**: 生产环境更新前请务必在测试环境验证,并确保有可用的备份。
|