#!/usr/bin/env bash set -euo pipefail # 基本配置:可通过环境变量覆盖 SERVER="${SERVER:-root@101.35.149.39}" TARGET_DIR="${TARGET_DIR:-/opt/fucai}" JAVA_OPTS="${JAVA_OPTS:--Xms256m -Xmx512m}" PROFILE="${PROFILE:-dev}" # 模块与服务信息 JAR_PATTERN="com-kaijiang-client/target/*-SNAPSHOT.jar" SERVICE_NAME="fucai-kaijiang.service" ENV_FILE_REMOTE="${TARGET_DIR}/kaijiang.env" echo "==> 步骤1:Maven 打包(跳过测试)" mvn -T 1C -pl com-kaijiang-client -am clean package -DskipTests echo "==> 步骤2:定位打包产物" JAR_LOCAL=$(ls ${JAR_PATTERN} | head -n 1) if [[ -z "${JAR_LOCAL}" ]]; then echo "未找到 JAR:${JAR_PATTERN}" >&2 exit 1 fi JAR_NAME=$(basename "${JAR_LOCAL}") echo "KAIJIANG JAR: ${JAR_LOCAL}" echo "==> 步骤3:创建远端目录 ${TARGET_DIR}" ssh "${SERVER}" "mkdir -p ${TARGET_DIR}" echo "==> 步骤4:上传 JAR(保留原始文件名)" scp "${JAR_LOCAL}" "${SERVER}:${TARGET_DIR}/${JAR_NAME}" echo "==> 步骤7:重载/启用并重启服务" ssh "${SERVER}" " systemctl restart ${SERVICE_NAME} && systemctl status ${SERVICE_NAME} --no-pager -n 0 || true" echo "==> 完成:${SERVICE_NAME} 已部署并重启" cat <