deploy.sh 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. #!/bin/bash
  2. # 参数说明
  3. # $1 jarName 默认 ifast-1.0.0.jar
  4. # $2 branch 默认 dev
  5. # $3 appDir 默认 /home/server/webapps/ifast
  6. # $4 profile 激活的配置文件,默认dev
  7. #
  8. # step 1.
  9. #
  10. # $1
  11. # jar名称默认
  12. jarName=$1
  13. if [ -z "${jarName}" ]
  14. then
  15. jarName=ifast-1.0.0.jar
  16. fi
  17. echo "jarName: ${jarName}"
  18. # $2
  19. # 将指定分支最新代码部署到指定目录。默认dev
  20. # 如果目录不存在会自动创建。
  21. branch=$2
  22. if [ -z "${branch}" ]
  23. then
  24. branch=dev
  25. fi
  26. echo "branch: ${branch}"
  27. # $3
  28. appDir=$3
  29. if [ -z "${appDir}" ]
  30. then
  31. appDir=/home/server/webapps/ifast
  32. fi
  33. if [ ! -d ${appDir} ]
  34. then
  35. echo "目录 ${appDir} 不存在,尝试创建 ..."
  36. mkdir -p ${appDir}
  37. fi
  38. echo "appDir: ${appDir}"
  39. # $4
  40. profile=$4
  41. if [ -z "${profile}" ]
  42. then
  43. profile=dev
  44. fi
  45. echo "profile: ${profile}"
  46. #
  47. # step 2.
  48. #
  49. srcDir=`pwd`
  50. git pull origin ${branch}
  51. mvn install
  52. #
  53. # step 3. shutdown > delete | backup
  54. #
  55. cd ${appDir}
  56. echo "shutdown ..."
  57. if [ -d "bin" ]
  58. then
  59. cd bin
  60. ./shutdown.sh ${jarName}
  61. ps -ef | grep ${jarName}
  62. cd ..
  63. fi
  64. echo "del ${appDir}/${jarName}"
  65. rm -f ${jarName}
  66. echo "del ${appDir}/bin"
  67. rm -rf bin
  68. # move | copy > chmod
  69. echo "move ${srcDir}/target/${jarName} to ${appDir}"
  70. mv ${srcDir}/target/${jarName} ${appDir}
  71. echo "copy dir ${srcDir}/bin to `pwd`"
  72. cp -R ${srcDir}/bin .
  73. chmod u+x ${appDir}/bin/*
  74. #
  75. # step 4. start
  76. #
  77. echo "startup ..."
  78. cd bin
  79. ./startup.sh ${jarName} ${profile}