- #!/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}"
|