lovart3/deploy-rmbg-feature.sh
Your Name e9ceedb3bf feat: 添加图片变清晰功能
- 创建 /api/enhance 路由,实现图片变清晰API集成
- 在图片标注组件中添加变清晰按钮(Sparkles图标)
- 在相册页面添加变清晰按钮
- 系统设置:将抠图设置改名为本地AI设置,添加变清晰API配置
- 支持同步和异步两种模式
- 自动上传到S3存储桶并保存到数据库
- 在相册和出图记录中显示处理后的图片
2025-12-29 00:33:12 +08:00

126 lines
3.5 KiB
Bash
Executable File
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/bin/bash
# 抠图功能部署脚本
# 用于将新功能更新到服务器
set -e
echo "=================================================================================="
echo "🚀 抠图功能部署脚本"
echo "=================================================================================="
# 服务器配置
SERVER="45.192.99.48"
USER="root"
PORT="22"
PASSWORD="1blZllMIp7"
PROJECT_DIR="/var/www/ai-chatbot"
SSH_OPTS="-o StrictHostKeyChecking=no -o ServerAliveInterval=60"
echo ""
echo "📋 部署步骤:"
echo " 1. 检查本地代码状态"
echo " 2. 提交代码到Git(如果需要)"
echo " 3. 推送到远程仓库"
echo " 4. 在服务器上拉取更新"
echo " 5. 安装依赖(如果需要)"
echo " 6. 重新构建项目"
echo " 7. 重启应用"
echo ""
# 步骤1: 检查本地代码状态
echo "步骤 1/7: 检查本地代码状态..."
if ! git diff --quiet || ! git diff --cached --quiet; then
echo "⚠️ 发现未提交的更改:"
git status --short
echo ""
read -p "是否提交这些更改?(y/n) " -n 1 -r
echo ""
if [[ $REPLY =~ ^[Yy]$ ]]; then
git add -A
git commit -m "feat: 添加画图标注抠图功能
- 新增抠图API路由 (/api/rmbg)
- 在画图标注组件中添加抠图功能
- 在系统设置中添加抠图API配置
- 支持图片上传到S3并保存到数据库
- 图片可在相册和出图记录中查看"
echo "✅ 代码已提交"
else
echo "❌ 取消部署(需要先提交代码)"
exit 1
fi
else
echo "✅ 没有未提交的更改"
fi
# 步骤2: 推送到远程仓库
echo ""
echo "步骤 2/7: 推送到远程仓库..."
read -p "是否推送到远程仓库?(y/n) " -n 1 -r
echo ""
if [[ $REPLY =~ ^[Yy]$ ]]; then
git push
echo "✅ 代码已推送到远程仓库"
else
echo "⚠️ 跳过推送(如果服务器使用本地代码,可以跳过)"
fi
# 步骤3-7: 在服务器上执行
echo ""
echo "步骤 3-7: 在服务器上执行更新..."
sshpass -p "$PASSWORD" ssh -p "$PORT" $SSH_OPTS "$USER@$SERVER" << 'REMOTEEOF'
set -e
cd /var/www/ai-chatbot
echo ""
echo "步骤 3/7: 拉取最新代码..."
git pull || echo "⚠️ Git pull失败,可能使用本地代码"
echo ""
echo "步骤 4/7: 检查依赖..."
if [ -f "pnpm-lock.yaml" ]; then
echo "检查pnpm依赖..."
pnpm install --no-frozen-lockfile || echo "⚠️ 依赖安装失败"
else
echo "⚠️ 未找到pnpm-lock.yaml"
fi
echo ""
echo "步骤 5/7: 重新构建项目..."
pnpm build || {
echo "❌ 构建失败,查看错误信息:"
pnpm build 2>&1 | tail -30
exit 1
}
echo ""
echo "步骤 6/7: 重启应用..."
pm2 restart ai-chatbot || pm2 restart all || {
echo "⚠️ PM2重启失败,尝试手动重启..."
pm2 list
}
echo ""
echo "步骤 7/7: 检查应用状态..."
sleep 3
pm2 status ai-chatbot || pm2 list
echo ""
echo "=================================================================================="
echo "✅ 部署完成!"
echo "=================================================================================="
echo ""
echo "📋 验证步骤:"
echo " 1. 访问系统设置 → 抠图设置,配置API地址"
echo " 2. 在画图标注界面测试抠图功能"
echo " 3. 检查相册中是否显示抠图后的图片"
echo " 4. 检查系统设置的出图记录中是否显示"
echo ""
REMOTEEOF
echo ""
echo "=================================================================================="
echo "✅ 部署脚本执行完成!"
echo "=================================================================================="