#!/bin/bash # ZJPB v2.1 Git Patch 部署脚本 # 在生产服务器上执行 echo "================================" echo "ZJPB v2.1 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.1_$(date +%Y%m%d_%H%M%S)" fi # 应用patch echo "4. 应用v2.1.0补丁..." if [ -f "v2.1.0.patch" ]; then git apply --check v2.1.0.patch if [ $? -eq 0 ]; then git apply v2.1.0.patch echo " ✅ 补丁应用成功" else echo " ❌ 补丁应用失败,请检查" exit 1 fi else echo " ❌ v2.1.0.patch 文件不存在" exit 1 fi # 提交更改 echo "5. 提交更改到Git..." git add . git commit -m "release: v2.1.0 - Prompt管理系统、页脚优化、图标修复 通过patch部署,包含以下更新: - Prompt管理系统 - 页脚ICP备案和统计代码 - 详情页图标修复 - 标签显示修复 " # 激活虚拟环境 echo "6. 激活虚拟环境..." source venv/bin/activate # 安装依赖 echo "7. 检查依赖..." pip install -r requirements.txt -q # 运行数据库迁移 echo "8. 运行数据库迁移..." python migrate_prompts.py # 重启应用 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 ""