deploy.sh 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. #!/bin/bash
  2. set -e
  3. #echo "USER=$USER"
  4. #echo "HOME=$HOME"
  5. #ls -al ~/.ssh
  6. #cat ~/.ssh/config
  7. # ======================
  8. # 基础配置(每个服务改这里)
  9. # ======================
  10. REMOTE_HOST="test"
  11. DOCKER_NAME="sckw-ng-payment"
  12. SERVICE_NAME="sckw-payment"
  13. PROJECT_DIR="/mnt/d/Desk/Project/sckw-service-platform"
  14. DEPLOY_DIR="/www/wwwroot/sckw-ng-platform"
  15. JAR_NAME="${SERVICE_NAME}-1.1.0.jar"
  16. # ======================
  17. # 1. Maven构建
  18. # ======================
  19. echo "👉 [1/4] Maven build..."
  20. cd ${PROJECT_DIR}
  21. mvn clean package -pl sckw-modules/${SERVICE_NAME} -am -DskipTests -P test
  22. echo "✔ build success"
  23. # ======================
  24. # 2. 找jar包
  25. # ======================
  26. echo "👉 [2/4] locate jar..."
  27. JAR_PATH=${PROJECT_DIR}/sckw-modules/${SERVICE_NAME}/target/${JAR_NAME}
  28. echo "jar: ${JAR_PATH}"
  29. # ======================
  30. # 3. SCP上传
  31. # ======================
  32. echo "👉 [3/4] upload to server..."
  33. ls -lh ${JAR_PATH}
  34. scp ${JAR_PATH} ${REMOTE_HOST}:${DEPLOY_DIR}/${DOCKER_NAME}/
  35. # ======================
  36. # 4. 重启 docker compose
  37. # ======================
  38. echo "👉 [4/4] restart container..."
  39. ssh ${REMOTE_HOST} << EOF
  40. cd ${DEPLOY_DIR}
  41. docker compose up -d --build ${DOCKER_NAME}
  42. EOF
  43. echo "命令执行完毕,等待 2 秒..."
  44. sleep 2
  45. ssh ${REMOTE_HOST} << EOF
  46. docker logs --tail=40 ${DOCKER_NAME}
  47. EOF
  48. echo "🎉 deploy finished: ${SERVICE_NAME}"