Shell脚本 自动部署 SpringBoot 应用

  1. # 上传密钥
  2. sshLoginKey=/f/MyFile/root.key
  3. # 项目在本机的目录
  4. MyProject=/d/MyProject/comment
  5.  
  6. # 远程主机上的路径
  7. RemoteHost=root@domainName.com
  8. RemotePath=$RemoteHost:/data/
  9.  
  10. if [ -f "$sshLoginKey" -a -d "$MyProject" ];then
  11. cd $MyProject
  12. # 只输出错误
  13. mvn clean package -q
  14. # 查找target目录中,最近1分钟内打包的文件。为了脚本通用性,不指定文件名。借助find 查找。
  15. fileName=$(find target -maxdepth 1 -type f -size +20M -regex "target/\w+\.[jw]ar" -cmin -1) if [ -e "$fileName" ];then
  16. echo "打包成功"
  17. -i $sshLoginKey $fileName $RemotePath;
  18. ];then
  19. echo "上传成功。";
  20. # 停止服务
  21. $RemoteHost -i $sshLoginKey "ps -ef | awk '\$NF~/comment/{print \$2}' | xargs kill -9 "
  22.  
  23. # 启动服务
  24. # $RemoteHost -i $sshLoginKey "/root/jdk1.8.0_152/bin/java -jar /data/comment.jar 2>&1 >/var/log/comments.log &"
  25. else
  26. echo "上传失败。";
  27. fi
  28. else
  29. echo "打包失败"
  30. exit
  31. fi
  32.  
  33. if [ -f "$fileName" ];then
  34. rm -rf $fileName
  35. fi
  36. else
  37. echo "密钥或项目不存在";
  38. sleep 5s;
  39. fi

猜你喜欢

转载自www.cnblogs.com/Mr--zha0/p/11273869.html