lazy.sh 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. #!/bin/bash
  2. # 本脚本的作用是
  3. # 1. 项目打包
  4. # 2. 上传云服务器
  5. # 3. 远程登录云服务器并执行reset脚本
  6. # 请设置云服务器的IP地址和账户
  7. # 例如 ubuntu@122.51.199.160
  8. REMOTE=ubuntu@122.51.199.160
  9. # 请设置本地SSH私钥文件id_rsa路径
  10. # 例如 /home/litemall/id_rsa
  11. ID_RSA=/d/00/cloud/litemall.txt
  12. if test -z "$REMOTE"
  13. then
  14. echo "请设置云服务器登录IP地址和账户"
  15. exit 1
  16. fi
  17. if test -z "$ID_RSA"
  18. then
  19. echo "请设置云服务器登录IP地址和账户"
  20. exit 1
  21. fi
  22. DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )"
  23. cd $DIR/../.. || exit 2
  24. LITEMALL_HOME=$PWD
  25. echo "LITEMALL_HOME $LITEMALL_HOME"
  26. # 项目打包
  27. cd $LITEMALL_HOME || exit 2
  28. ./docker/util/package.sh
  29. # 上传云服务器
  30. cd $LITEMALL_HOME || exit 2
  31. scp -i $ID_RSA -r ./docker $REMOTE:/home/ubuntu/
  32. # 远程登录云服务器并执行reset脚本
  33. # 这里使用tr命令,因为有可能deploy.sh和reset.sh的换行格式是CRLF,而LINUX环境应该是LF
  34. ssh $REMOTE -i $ID_RSA << eeooff
  35. cd /home/ubuntu/docker/bin
  36. cat deploy.sh | tr -d '\r' > deploy2.sh
  37. mv deploy2.sh deploy.sh
  38. chmod +x deploy.sh
  39. cat reset.sh | tr -d '\r' > reset2.sh
  40. mv reset2.sh reset.sh
  41. chmod +x reset.sh
  42. sudo ./reset.sh
  43. exit
  44. eeooff