| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 | 
							- #!/bin/bash
 
- # 设置远程服务器信息
 
- REMOTE_USER="root"  # 远程服务器用户名,根据你的实际情况修改
 
- REMOTE_HOST="116.204.43.56" # 远程服务器地址
 
- 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"
 
- LOCAL_FS_API_JAR="./fs-api/target/fs-api.jar"
 
- LOCAL_FS_SYNC_JAR="./fs-sync/target/fs-sync-0.0.1-SNAPSHOT.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"
 
- check_local_file "$LOCAL_FS_API_JAR"
 
- check_local_file "$LOCAL_FS_SYNC_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 -Dfile.encoding=UTF-8 $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"
 
- #deploy_jar "$LOCAL_FS_API_JAR" "fs-api"
 
- #deploy_jar "$LOCAL_FS_USER_APP_JAR" "fs-api"
 
- #deploy_jar "$LOCAL_FS_SYNC_JAR" "fs-sync"
 
- echo "Deployment completed."
 
 
  |