diff --git a/bin/post-steps.sh b/bin/post-steps.sh new file mode 100644 index 0000000..ce43167 --- /dev/null +++ b/bin/post-steps.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +PORT=8889 +JAR_PATH="/home/zhangbiqiong/pro_eld_mqtt_compare/app/pro_eld_mqtt_compare-0.0.1-SNAPSHOT.jar" +LOG_PATH="/home/zhangbiqiong/pro_eld_mqtt_compare/logs/pro_eld_mqtt_compare.log" + +# 检测端口是否被占用 +if netstat -tuln | grep -q ":$PORT"; then + echo "Port $PORT is already in use. Not starting application." + exit 0 +else + echo "Port $PORT is free. Starting application..." + nohup java -jar "$JAR_PATH" > "$LOG_PATH" 2>&1 & + echo "Application started with PID $!" +fi \ No newline at end of file diff --git a/bin/pre-step.sh b/bin/pre-step.sh new file mode 100644 index 0000000..7ea54fa --- /dev/null +++ b/bin/pre-step.sh @@ -0,0 +1,28 @@ +#!/bin/bash + +REPO_URL="git@34.102.70.200:ALEX/pro_eld_mqtt_compare.git" +CODE_DIR="/home/zhangbiqiong/pro_eld_mqtt_compare" +JAR_NAME="pro_eld_mqtt_compare-0.0.1-SNAPSHOT.jar" + +if [ -d "$CODE_DIR/.git" ]; then + echo "[INFO] 拉取最新代码..." + cd "$CODE_DIR" || { echo "[ERROR] 进入目录失败"; exit 1; } + git reset --hard HEAD + git pull origin master +else + echo "[INFO] 克隆仓库..." + git clone "$REPO_URL" "$CODE_DIR" || { echo "[ERROR] 克隆失败"; exit 1; } + cd "$CODE_DIR" || { echo "[ERROR] 进入目录失败"; exit 1; } +fi + +# === 停止旧的 Java 应用 === +pid=$(ps -ef | grep -w java | grep "$JAR_NAME" | grep -v grep | awk '{print $2}') + +if [ -z "$pid" ]; then + echo "[INFO] 未检测到旧版 Java 应用在运行。" +else + echo "[INFO] 检测到旧进程 pid=$pid,正在停止..." + sudo kill -9 "$pid" + sleep 2 + echo "[INFO] 已停止旧应用进程。" +fi \ No newline at end of file