75 lines
1.9 KiB
Bash
75 lines
1.9 KiB
Bash
|
|
#!/bin/bash
|
|||
|
|
|
|||
|
|
# ============================================
|
|||
|
|
# AIGC项目部署脚本(沙箱测试环境)
|
|||
|
|
# ============================================
|
|||
|
|
|
|||
|
|
echo "🚀 开始部署 AIGC 项目到生产服务器..."
|
|||
|
|
|
|||
|
|
# 配置变量
|
|||
|
|
SERVER="root@vionow.com"
|
|||
|
|
REMOTE_DIR="/opt/aigc"
|
|||
|
|
JAR_FILE="target/demo-0.0.1-SNAPSHOT.jar"
|
|||
|
|
FRONTEND_DIR="frontend/dist"
|
|||
|
|
|
|||
|
|
# 检查JAR文件是否存在
|
|||
|
|
if [ ! -f "$JAR_FILE" ]; then
|
|||
|
|
echo "❌ JAR文件不存在,请先运行 mvnw clean package"
|
|||
|
|
exit 1
|
|||
|
|
fi
|
|||
|
|
|
|||
|
|
# 检查前端文件是否存在
|
|||
|
|
if [ ! -d "$FRONTEND_DIR" ]; then
|
|||
|
|
echo "❌ 前端dist目录不存在,请先运行 npm run build"
|
|||
|
|
exit 1
|
|||
|
|
fi
|
|||
|
|
|
|||
|
|
# 1. 上传后端JAR文件
|
|||
|
|
echo "📦 上传后端JAR文件..."
|
|||
|
|
scp "$JAR_FILE" "$SERVER:$REMOTE_DIR/"
|
|||
|
|
|
|||
|
|
# 2. 上传前端文件
|
|||
|
|
echo "📦 上传前端文件..."
|
|||
|
|
scp -r "$FRONTEND_DIR"/* "$SERVER:/var/www/html/"
|
|||
|
|
|
|||
|
|
# 3. 在服务器上重启服务
|
|||
|
|
echo "🔄 重启服务..."
|
|||
|
|
ssh "$SERVER" << 'ENDSSH'
|
|||
|
|
# 停止旧服务
|
|||
|
|
echo "⏹️ 停止旧服务..."
|
|||
|
|
pkill -f demo-0.0.1-SNAPSHOT.jar
|
|||
|
|
sleep 3
|
|||
|
|
|
|||
|
|
# 启动新服务
|
|||
|
|
echo "▶️ 启动新服务..."
|
|||
|
|
cd /opt/aigc
|
|||
|
|
nohup java -jar demo-0.0.1-SNAPSHOT.jar \
|
|||
|
|
--spring.profiles.active=prod \
|
|||
|
|
--spring.config.additional-location=file:./application-prod.properties \
|
|||
|
|
> app.log 2>&1 &
|
|||
|
|
|
|||
|
|
# 等待启动
|
|||
|
|
sleep 5
|
|||
|
|
|
|||
|
|
# 检查服务状态
|
|||
|
|
if pgrep -f demo-0.0.1-SNAPSHOT.jar > /dev/null; then
|
|||
|
|
echo "✅ 服务启动成功!"
|
|||
|
|
echo "📋 最新日志:"
|
|||
|
|
tail -n 20 app.log
|
|||
|
|
else
|
|||
|
|
echo "❌ 服务启动失败,请检查日志:"
|
|||
|
|
tail -n 50 app.log
|
|||
|
|
exit 1
|
|||
|
|
fi
|
|||
|
|
ENDSSH
|
|||
|
|
|
|||
|
|
echo ""
|
|||
|
|
echo "✅ 部署完成!"
|
|||
|
|
echo "🌐 访问地址:"
|
|||
|
|
echo " 前端:https://vionow.com"
|
|||
|
|
echo " 后端:https://vionow.com/api/"
|
|||
|
|
echo " Swagger:https://vionow.com/swagger-ui.html"
|
|||
|
|
echo ""
|
|||
|
|
echo "📋 查看实时日志:"
|
|||
|
|
echo " ssh $SERVER 'tail -f /opt/aigc/app.log'"
|