#创建文件名

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

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐