|
@@ -0,0 +1,62 @@
|
|
|
+#!/bin/bash
|
|
|
+
|
|
|
+# 设置远程服务器信息
|
|
|
+REMOTE_USER="root" # 远程服务器用户名,根据你的实际情况修改
|
|
|
+REMOTE_HOST="111.230.193.88" # 远程服务器地址
|
|
|
+REMOTE_BASE_DIR="/home/software" # 远程服务器上的部署目录,根据你的目录结构修改
|
|
|
+
|
|
|
+# 本地 JAR 包路径 -- 根据你提供的目录结构修改
|
|
|
+LOCAL_FS_ADMIN_JAR="./fs-admin/target/fs-admin.jar" # 假设target目录和你提供的 tree 命令显示的目录同级
|
|
|
+LOCAL_FS_COMPANY_JAR="./fs-company/target/fs-company.jar"
|
|
|
+LOCAL_FS_USER_APP_JAR="./fs-user-app/target/fs-user-app.jar"
|
|
|
+
|
|
|
+# 函数:检查本地文件是否存在
|
|
|
+check_local_file() {
|
|
|
+ if [ ! -f "$1" ]; then
|
|
|
+ echo "Error: Local file $1 not found."
|
|
|
+ exit 1
|
|
|
+ fi
|
|
|
+}
|
|
|
+
|
|
|
+# 检查本地 JAR 文件是否存在
|
|
|
+check_local_file "$LOCAL_FS_ADMIN_JAR"
|
|
|
+check_local_file "$LOCAL_FS_COMPANY_JAR"
|
|
|
+check_local_file "$LOCAL_FS_USER_APP_JAR"
|
|
|
+# 停止远程服务器上可能正在运行的旧版本(假设进程名与 JAR 包名相同)
|
|
|
+stop_remote_app() {
|
|
|
+ local app_name=$1
|
|
|
+ ssh "$REMOTE_USER@$REMOTE_HOST" "pkill -f $app_name || true"
|
|
|
+}
|
|
|
+
|
|
|
+# 部署单个 JAR 包
|
|
|
+deploy_jar() {
|
|
|
+ local local_jar=$1
|
|
|
+ local remote_dir=$2
|
|
|
+ local app_name=$(basename "$local_jar" .jar)
|
|
|
+
|
|
|
+ # 创建远程目录(如果不存在)
|
|
|
+ ssh "$REMOTE_USER@$REMOTE_HOST" "mkdir -p $REMOTE_BASE_DIR/$remote_dir"
|
|
|
+ # 停止旧版本
|
|
|
+ stop_remote_app $app_name
|
|
|
+
|
|
|
+ # 上传 JAR 包
|
|
|
+ scp "$local_jar" "$REMOTE_USER@$REMOTE_HOST:$REMOTE_BASE_DIR/$remote_dir/"
|
|
|
+
|
|
|
+ # 在后台启动 JAR 包, 并将输出重定向到 /dev/null
|
|
|
+ ssh "$REMOTE_USER@$REMOTE_HOST" "nohup java -jar $REMOTE_BASE_DIR/$remote_dir/$app_name.jar > $REMOTE_BASE_DIR/$remote_dir/$app_name.log 2>&1 &"
|
|
|
+
|
|
|
+ echo "Deployed $app_name to $REMOTE_HOST:$REMOTE_BASE_DIR/$remote_dir"
|
|
|
+}
|
|
|
+# 主要部署流程
|
|
|
+
|
|
|
+# 部署 fs-admin
|
|
|
+deploy_jar "$LOCAL_FS_ADMIN_JAR" "fs-admin"
|
|
|
+
|
|
|
+# 部署 fs-company
|
|
|
+deploy_jar "$LOCAL_FS_COMPANY_JAR" "fs-company"
|
|
|
+
|
|
|
+# 部署 fs-user-app
|
|
|
+deploy_jar "$LOCAL_FS_USER_APP_JAR" "fs-user-app"
|
|
|
+
|
|
|
+echo "Deployment completed."
|
|
|
+
|