deploy.sh 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. #!/bin/sh
  2. #参数一要打包的项目名称
  3. if [ $1 ]; then
  4. project_name=$1
  5. else
  6. echo "请指定项目名称"
  7. exit 1
  8. fi
  9. #参数二打包环境
  10. if [ $2 ]; then
  11. echo "当前打包环境为${2}"
  12. env=$2
  13. else
  14. echo "请指定打包环境 dev:开发环境,test:测试环境,prod:正式环境"
  15. exit 1
  16. fi
  17. #mvn 成品名字
  18. if [ $3 ]; then
  19. echo "成品名字为${3}"
  20. jar_name=$3
  21. else
  22. jar_name=""
  23. fi
  24. # 第一步先打包
  25. /data/shell/pack.sh $project_name $env
  26. # 如果打包失败则退出
  27. retval=$?
  28. if [ ${retval} -ne 0 ] ; then
  29. exit 1
  30. fi
  31. # 获取需要部署的服务器ip
  32. for ip in `cat /data/shell/deployip.conf`
  33. {
  34. echo "部署"$ip
  35. #代码不存在 说明是微服务
  36. if [ ! -d "/data/code/${project_name}/target/" ];then
  37. scp /data/code/${project_name}/${jar_name}/target/${jar_name}.jar root@$ip:/data/app/${jar_name}.jar
  38. #远程调用重启脚本
  39. ssh $ip "sh /data/shell/restart.sh ${jar_name}"
  40. else
  41. scp /data/code/${project_name}/target/${project_name}.jar root@$ip:/data/app/${project_name}.jar
  42. #远程调用重启脚本
  43. ssh $ip "sh /data/shell/restart.sh ${project_name}"
  44. fi
  45. }
  46. # readme 调用方式 ./deploy.sh mrxu-crm prod crm-service 或 ./pack.sh mrxu-front prod