- v2.2.0.patch: Git补丁文件(56KB) - git_patch_deploy_v2.2.sh: 自动化部署脚本 - DEPLOY_v2.2.0.md: 完整部署指南 - DEPLOY_v2.2_CHECKLIST.md: 部署检查清单
111 lines
2.6 KiB
Bash
111 lines
2.6 KiB
Bash
#!/bin/bash
|
||
# ZJPB v2.2 Git Patch 部署脚本
|
||
# 在生产服务器上执行
|
||
|
||
echo "================================"
|
||
echo "ZJPB v2.2 Git Patch 部署"
|
||
echo "================================"
|
||
echo ""
|
||
|
||
# 项目路径
|
||
PROJECT_DIR="/opt/1panel/apps/zjpb"
|
||
|
||
# 检查是否在正确目录
|
||
cd $PROJECT_DIR || { echo ">>> 项目目录不存在"; exit 1; }
|
||
|
||
echo "当前目录: $(pwd)"
|
||
echo ""
|
||
|
||
# 停止应用
|
||
echo "1. 停止应用..."
|
||
./manage.sh stop
|
||
sleep 2
|
||
|
||
# 检查Git状态
|
||
echo "2. 检查Git状态..."
|
||
git status
|
||
|
||
# 备份未提交的修改(如果有)
|
||
echo "3. 备份当前修改(如有)..."
|
||
if ! git diff-index --quiet HEAD --; then
|
||
echo " 发现未提交的修改,正在保存..."
|
||
git stash save "backup_before_v2.2_$(date +%Y%m%d_%H%M%S)"
|
||
fi
|
||
|
||
# 应用patch
|
||
echo "4. 应用v2.2.0补丁..."
|
||
if [ -f "v2.2.0.patch" ]; then
|
||
git apply --check v2.2.0.patch
|
||
if [ $? -eq 0 ]; then
|
||
git apply v2.2.0.patch
|
||
echo " >>> 补丁应用成功"
|
||
else
|
||
echo " >>> 补丁应用失败,请检查"
|
||
exit 1
|
||
fi
|
||
else
|
||
echo " >>> v2.2.0.patch 文件不存在"
|
||
exit 1
|
||
fi
|
||
|
||
# 提交更改
|
||
echo "5. 提交更改到Git..."
|
||
git add .
|
||
git commit -m "release: v2.2.0 - 博查新闻搜索功能
|
||
|
||
通过patch部署,包含以下更新:
|
||
- 集成博查Web Search API
|
||
- 新闻自动获取和展示
|
||
- 智能新闻更新机制(每日首次访问触发)
|
||
- News模型扩展(source_name, source_icon)
|
||
- 网站详情页新闻模块
|
||
- 定期任务脚本和测试工具
|
||
"
|
||
|
||
# 激活虚拟环境
|
||
echo "6. 激活虚拟环境..."
|
||
source venv/bin/activate
|
||
|
||
# 安装依赖(检查是否有新依赖)
|
||
echo "7. 检查依赖..."
|
||
pip install -r requirements.txt -q
|
||
|
||
# 运行数据库迁移
|
||
echo "8. 运行数据库迁移..."
|
||
if [ -f "migrate_news_fields.py" ]; then
|
||
python migrate_news_fields.py
|
||
if [ $? -eq 0 ]; then
|
||
echo " >>> 数据库迁移成功"
|
||
else
|
||
echo " >>> 数据库迁移失败"
|
||
exit 1
|
||
fi
|
||
else
|
||
echo " >>> migrate_news_fields.py 不存在,跳过"
|
||
fi
|
||
|
||
# 重启应用
|
||
echo "9. 重启应用..."
|
||
./manage.sh start
|
||
sleep 3
|
||
|
||
# 检查状态
|
||
echo "10. 检查应用状态..."
|
||
./manage.sh status
|
||
|
||
echo ""
|
||
echo "================================"
|
||
echo ">>> 部署完成!"
|
||
echo "================================"
|
||
echo ""
|
||
echo "Git提交历史:"
|
||
git log --oneline -3
|
||
echo ""
|
||
echo "请访问网站验证更新是否成功"
|
||
echo ""
|
||
echo "验证清单:"
|
||
echo "1. 访问任意网站详情页,检查是否显示相关新闻"
|
||
echo "2. 登录后台 /admin/newsadmin/ 查看新闻管理"
|
||
echo "3. 检查日志确认没有错误"
|
||
echo ""
|