#创建文件名

vim start.sh

脚本命令:

#!/bin/bash
set -e  # 任何命令失败时立即退出脚本

# 1. 拉取最新代码(如果代码仓库需要认证(如 SSH 密钥或账号密码),git pull 可能因权限问题失败)
echo "Pulling latest code from Git..."
cd /root/demo
if ! git pull; then
    echo "Error: git pull failed!"
    exit 1
fi

# 2. 重新构建应用
echo "Building application with Maven..."
cd /root/demo
if ! mvn install; then
    echo "Error: mvn install failed!"
    exit 1
fi

# 3. 替换旧 JAR 包
echo "Replacing old JAR file..."
cd /usr/java/demo
rm -f demo.jar  # 直接删除旧文件(无需 -rf)
mv /root/demo/demo-admin/target/demo-admin.jar /usr/java/demo/

# 4. 停止旧进程(优雅终止优先)
echo "Stopping existing demo-admin process..."
tomcatID=$(pgrep -f 'demo-admin')
if [ -n "$tomcatID" ]; then
    echo "Found running process (PID: $tomcatID), stopping gracefully..."
    kill -15 $tomcatID
    sleep 5  # 等待 5 秒
    if ps -p $tomcatID > /dev/null; then
        echo "Process still running, forcing kill..."
        kill -9 $tomcatID
    fi
else
    echo "demo-admin is not running."
fi

# 5. 启动新进程
echo "Starting new demo-admin process..."
nohup java -jar /usr/java/demo/demo-admin.jar >> demo-admin.out 2>&1 &

# 6. 查看日志
echo "Deployment completed. Tail logs with: tail -f demo-admin.out"

运行脚本:

sh start.sh
Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐