Files
aiotagro-mini/deploy.sh
aiotagro 5ccd65cccc
Some checks failed
aagro-ui-admin CI / build (14.x) (push) Has been cancelled
aagro-ui-admin CI / build (16.x) (push) Has been cancelled
Java CI with Maven / build (11) (push) Has been cancelled
Java CI with Maven / build (17) (push) Has been cancelled
Java CI with Maven / build (8) (push) Has been cancelled
Initial commit with production configuration and deployment scripts
2025-10-04 18:14:03 +08:00

59 lines
1.7 KiB
Bash
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
# 部署脚本用于将项目部署到远程服务器
# 配置信息
REMOTE_HOST="192.168.0.95"
REMOTE_USER="root"
REMOTE_PASSWORD="aiotagro"
REMOTE_DIR="/data/java/aiotagro"
# 本地项目路径
LOCAL_PROJECT_DIR="E:/vue/aiotagro-mini"
echo "开始部署项目到远程服务器..."
# 打包项目 (需要本地安装Maven)
echo "正在打包项目..."
cd "$LOCAL_PROJECT_DIR"
mvn clean package -Dmaven.test.skip=true
if [ $? -ne 0 ]; then
echo "项目打包失败请确保已安装Maven并配置环境变量"
exit 1
fi
# 获取打包后的jar文件路径
JAR_FILE=$(find aagro-server/target -name "*.jar" | head -n 1)
if [ -z "$JAR_FILE" ]; then
echo "未找到打包后的jar文件"
exit 1
fi
echo "找到jar文件: $JAR_FILE"
# 创建远程目录
echo "创建远程目录..."
sshpass -p "$REMOTE_PASSWORD" ssh "$REMOTE_USER@$REMOTE_HOST" "mkdir -p $REMOTE_DIR"
# 上传jar文件和配置文件
echo "上传文件到远程服务器..."
sshpass -p "$REMOTE_PASSWORD" scp "$JAR_FILE" "$REMOTE_USER@$REMOTE_HOST:$REMOTE_DIR/"
sshpass -p "$REMOTE_PASSWORD" scp "aagro-server/src/main/resources/application-prod.yaml" "$REMOTE_USER@$REMOTE_HOST:$REMOTE_DIR/"
# 上传启动脚本
echo "上传启动脚本..."
sshpass -p "$REMOTE_PASSWORD" ssh "$REMOTE_USER@$REMOTE_HOST" "cat > $REMOTE_DIR/start.sh << 'EOF'
#!/bin/bash
cd /data/java/aiotagro
nohup java -jar *.jar --spring.profiles.active=prod > app.log 2>&1 &
echo \"应用已启动\"
EOF"
sshpass -p "$REMOTE_PASSWORD" ssh "$REMOTE_USER@$REMOTE_HOST" "chmod +x $REMOTE_DIR/start.sh"
# 启动应用
echo "启动应用..."
sshpass -p "$REMOTE_PASSWORD" ssh "$REMOTE_USER@$REMOTE_HOST" "cd $REMOTE_DIR && ./start.sh"
echo "部署完成!"