Files
assist/部署更新指南.md
2025-09-16 17:05:50 +01:00

7.1 KiB
Raw Blame History

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): 错误修复,向后兼容

版本管理命令

# 查看当前版本
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文件 优点: 无需重启服务,用户体验好 缺点: 有限制,不能更新核心逻辑

# 热更新
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)

适用场景: 核心逻辑变更、数据库结构变更、依赖更新 优点: 完整更新,确保一致性 缺点: 需要重启服务

# 完整更新
python scripts/update_manager.py full-update --source ./new_version --environment production

3. 自动更新 (Auto Update)

智能选择: 优先尝试热更新,失败则进行完整更新

# 自动更新
python scripts/update_manager.py auto-update --source ./new_version --environment production

🌍 环境管理

部署到不同环境

# 开发环境
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

环境检查

# 检查更新可用性
python scripts/update_manager.py check --source ./new_version --environment production

💾 备份与回滚

自动备份

  • 每次更新前自动创建备份
  • 备份包含应用文件和数据库
  • 备份信息记录在 backup_info.json

手动备份

# 创建备份
python scripts/update_manager.py create-backup --environment production

回滚操作

# 列出所有备份
python scripts/update_manager.py list-backups

# 回滚到指定备份
python scripts/update_manager.py rollback --backup tsp_assistant_backup_20250916_163000 --environment production

备份信息

每个备份包含:

  • 应用文件完整副本
  • 数据库文件
  • 版本信息
  • Git提交哈希
  • 备份时间戳

📊 监控与通知

健康检查

  • 更新后自动执行健康检查
  • 检查服务是否正常启动
  • 验证API接口可用性

通知机制

  • 更新成功/失败通知
  • 回滚操作通知
  • 系统状态监控

🎯 最佳实践

1. 更新流程

# 1. 开发完成,提交代码
git add .
git commit -m "feat: 添加新功能"
git push

# 2. 更新版本号
python version.py increment --type minor
python version.py changelog --message "添加新功能"

# 3. 创建发布标签
python version.py tag --message "Release v1.3.0"

# 4. 部署到测试环境
python scripts/update_manager.py auto-update --source . --environment staging

# 5. 测试验证通过后,部署到生产环境
python scripts/update_manager.py auto-update --source . --environment production

2. 安全更新

# 生产环境更新前先备份
python scripts/update_manager.py create-backup --environment production

# 使用自动更新(包含回滚机制)
python scripts/update_manager.py auto-update --source ./new_version --environment production

3. 紧急回滚

# 快速回滚到最新备份
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 集成

# 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 示例
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. 健康检查失败

    • 检查服务是否正常启动
    • 验证端口是否被占用
    • 查看应用日志

紧急处理

# 停止服务
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

📝 更新记录

v1.2.0 (2025-09-16)

  • 系统设置扩展API管理、模型参数配置、端口管理
  • 真实数据分析:修复性能趋势图表显示
  • 工单AI建议功能
  • 知识库搜索优化
  • Agent管理改进

v1.1.0 (2025-09-16)

  • 工单AI建议功能
  • 知识库搜索优化
  • Agent管理改进

v1.0.0 (2024-01-01)

  • 初始版本发布

注意: 生产环境更新前请务必在测试环境验证,并确保有可用的备份。