#!/bin/bash set -e #echo "USER=$USER" #echo "HOME=$HOME" #ls -al ~/.ssh #cat ~/.ssh/config # ====================== # 基础配置(每个服务改这里) # ====================== REMOTE_HOST="test" DOCKER_NAME="sckw-ng-payment" SERVICE_NAME="sckw-payment" PROJECT_DIR="/mnt/d/Desk/Project/sckw-service-platform" DEPLOY_DIR="/www/wwwroot/sckw-ng-platform" JAR_NAME="${SERVICE_NAME}-1.1.0.jar" # ====================== # 1. Maven构建 # ====================== echo "👉 [1/4] Maven build..." cd ${PROJECT_DIR} mvn clean package -pl sckw-modules/${SERVICE_NAME} -am -DskipTests -P test echo "✔ build success" # ====================== # 2. 找jar包 # ====================== echo "👉 [2/4] locate jar..." JAR_PATH=${PROJECT_DIR}/sckw-modules/${SERVICE_NAME}/target/${JAR_NAME} echo "jar: ${JAR_PATH}" # ====================== # 3. SCP上传 # ====================== echo "👉 [3/4] upload to server..." ls -lh ${JAR_PATH} scp ${JAR_PATH} ${REMOTE_HOST}:${DEPLOY_DIR}/${DOCKER_NAME}/ # ====================== # 4. 重启 docker compose # ====================== echo "👉 [4/4] restart container..." ssh ${REMOTE_HOST} << EOF cd ${DEPLOY_DIR} docker compose up -d --build ${DOCKER_NAME} EOF echo "命令执行完毕,等待 2 秒..." sleep 2 ssh ${REMOTE_HOST} << EOF docker logs --tail=40 ${DOCKER_NAME} EOF echo "🎉 deploy finished: ${SERVICE_NAME}"