Files
zjpb.net/DEPLOY_v2.2_CHECKLIST.md
Jowe 2e9f634caa docs: 添加v2.2.0部署文档和脚本
- v2.2.0.patch: Git补丁文件(56KB)
- git_patch_deploy_v2.2.sh: 自动化部署脚本
- DEPLOY_v2.2.0.md: 完整部署指南
- DEPLOY_v2.2_CHECKLIST.md: 部署检查清单
2025-12-30 22:34:24 +08:00

5.5 KiB
Raw Blame History

v2.2.0 部署检查清单

部署前准备

1. 本地文件准备

  • v2.2.0.patch (56KB) - 已生成
  • git_patch_deploy_v2.2.sh - 已创建
  • DEPLOY_v2.2.0.md - 完整部署文档
  • migrate_news_fields.py - 数据库迁移脚本

2. 备份(重要!)

  • 生产数据库已备份
    # 在1Panel中备份或执行
    mysqldump -h 112.124.42.38 -u ai_nav -p ai_nav > backup_v2.2_$(date +%Y%m%d).sql
    
  • 代码已备份Git会自动保存

3. 环境检查

  • 服务器可以访问 api.bocha.cn
  • Python 3.8+ 已安装
  • 虚拟环境已创建
  • Git已配置

部署步骤

步骤1上传文件

上传以下2个文件到 /opt/1panel/apps/zjpb/

  • v2.2.0.patch
  • git_patch_deploy_v2.2.sh

使用1Panel文件管理器SCP命令

scp v2.2.0.patch root@your-server:/opt/1panel/apps/zjpb/
scp git_patch_deploy_v2.2.sh root@your-server:/opt/1panel/apps/zjpb/

步骤2执行部署

cd /opt/1panel/apps/zjpb
chmod +x git_patch_deploy_v2.2.sh
./git_patch_deploy_v2.2.sh

步骤3配置API Key

编辑.env文件添加博查API配置

nano /opt/1panel/apps/zjpb/.env

添加:

BOCHA_API_KEY=sk-76d0236a50d445ae92e75b634ed5313c
BOCHA_BASE_URL=https://api.bocha.cn

步骤4重启应用

cd /opt/1panel/apps/zjpb
./manage.sh restart

部署验证

前台验证

  • 访问首页正常
  • 访问网站详情页正常
  • "相关新闻"模块显示(首次访问会触发获取)
  • 新闻可以点击查看原文
  • "相似推荐"在右侧边栏显示

后台验证

  • 登录后台成功 /admin/login
  • 进入"新闻管理" /admin/newsadmin/
  • 可以看到新闻列表(如果已有新闻)
  • 新闻列表显示source_name和source_icon

数据库验证

-- 检查news表新字段
DESCRIBE news;
-- 应该看到:
-- source_name VARCHAR(100)
-- source_icon VARCHAR(500)

功能测试

  • 访问一个网站详情页,检查是否自动获取新闻
  • 刷新页面,新闻应该不会重复获取(使用缓存)
  • 第二天首次访问,应该会更新新闻

部署后检查

日志检查

cd /opt/1panel/apps/zjpb
./manage.sh logs

检查是否有错误信息:

  • 没有Python异常
  • 没有数据库错误
  • 没有API调用错误

Git状态

git log --oneline -3

应该看到v2.2.0的提交:

  • release: v2.2.0 相关的提交记录

应用状态

./manage.sh status
  • zjpb 正在运行
  • 进程PID正常

问题排查

1. 新闻不显示

可能原因

  • BOCHA_API_KEY未配置或配置错误
  • API余额不足
  • 网站没有相关新闻

排查步骤

# 测试API配置
cd /opt/1panel/apps/zjpb
source venv/bin/activate
python test_news_feature.py

# 检查环境变量
cat .env | grep BOCHA

# 查看日志
./manage.sh logs | grep -i "news\|bocha"

2. 数据库迁移失败

症状:字段不存在错误

解决方案

cd /opt/1panel/apps/zjpb
source venv/bin/activate
python migrate_news_fields.py

3. 补丁应用失败

症状git apply报错

解决方案

# 查看冲突
git status

# 备份修改
git stash

# 重新应用
git apply v2.2.0.patch

回滚方案(如需要)

快速回滚

cd /opt/1panel/apps/zjpb
./manage.sh stop

# 回滚到v2.1.0
git reset --hard HEAD~2

# 重启
./manage.sh start

恢复数据库(可选)

mysql -h 112.124.42.38 -u ai_nav -p ai_nav < backup_v2.2_YYYYMMDD.sql

完成标记

部署完成后,确认以下所有项:

  • 补丁应用成功
  • 数据库迁移成功
  • 应用启动正常
  • 前台功能正常
  • 后台功能正常
  • 新闻功能测试通过
  • 日志无错误
  • Git提交记录正确

一键部署命令(完整版)

# ============================================
# v2.2.0 完整部署命令
# ============================================

# 1. 进入项目目录
cd /opt/1panel/apps/zjpb

# 2. 检查上传的文件
ls -lh v2.2.0.patch git_patch_deploy_v2.2.sh

# 3. 执行部署
chmod +x git_patch_deploy_v2.2.sh
./git_patch_deploy_v2.2.sh

# 4. 配置API Key如果.env中还没有
nano .env
# 添加以下两行:
# BOCHA_API_KEY=sk-76d0236a50d445ae92e75b634ed5313c
# BOCHA_BASE_URL=https://api.bocha.cn

# 5. 重启应用
./manage.sh restart

# 6. 验证部署
./manage.sh status
git log --oneline -3

# 7. 查看日志(可选)
./manage.sh logs

echo "部署完成!请访问网站测试功能"

预期结果

执行部署脚本后,应该看到类似输出:

================================
ZJPB v2.2 Git Patch 部署
================================

当前目录: /opt/1panel/apps/zjpb

1. 停止应用...
2. 检查Git状态...
3. 备份当前修改(如有)...
4. 应用v2.2.0补丁...
   >>> 补丁应用成功
5. 提交更改到Git...
6. 激活虚拟环境...
7. 检查依赖...
8. 运行数据库迁移...
正在创建 source_name 和 source_icon 字段...
>>> 数据库迁移成功
9. 重启应用...
10. 检查应用状态...
zjpb 正在运行 (PID: xxxx)

================================
>>> 部署完成!
================================

Git提交历史
xxxxxxx release: v2.2.0 - 博查新闻搜索功能

时间估算

  • 上传文件1-2分钟
  • 执行部署3-5分钟
  • 配置验证2-3分钟
  • 总计约10分钟

检查清单版本: v1.0 创建日期: 2025-12-30 适用版本: ZJPB v2.2.0