build.sh 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. #!/bin/bash
  2. set -e
  3. env='dev'
  4. base_dir=`pwd`
  5. proj_dir="${base_dir}/proj"
  6. bin_dir="${base_dir}/bin"
  7. # if [ -d ${proj_dir} ]; then
  8. # rm -rf ${proj_dir}
  9. # fi
  10. # if [ -d ${bin_dir} ]; then
  11. # rm -rf ${bin_dir}
  12. # fi
  13. mkdir ${proj_dir}
  14. mkdir ${bin_dir}
  15. ###############################################################################
  16. # clone 项目
  17. ###############################################################################
  18. clone_proj() {
  19. cd ${proj_dir}
  20. git clone --depth=1 https://git.reghao.cn/reghao/jutil
  21. git clone --depth=1 https://git.reghao.cn/reghao/oss
  22. git clone --depth=1 https://git.reghao.cn/reghao/bnt
  23. git clone --depth=1 https://git.reghao.cn/reghao/tnb
  24. git clone --depth=1 https://git.reghao.cn/reghao/tnbapp
  25. }
  26. ###############################################################################
  27. # 安装依赖
  28. ###############################################################################
  29. build_dependencies() {
  30. cd ${proj_dir}/jutil
  31. mvn clean install -Dmaven.test.skip
  32. cd ${proj_dir}/oss
  33. mvn clean install -Dmaven.test.skip -pl oss-api
  34. mvn clean install -Dmaven.test.skip -pl oss-sdk
  35. ###############################################################################
  36. # 安装 tnb 项目提供的依赖
  37. ###############################################################################
  38. cd ${proj_dir}/tnb
  39. mvn clean install -am -Dmaven.test.skip -pl common
  40. mvn clean install -am -Dmaven.test.skip -pl log
  41. mvn clean install -am -Dmaven.test.skip -pl account/account-api/
  42. mvn clean install -am -Dmaven.test.skip -pl user/user-api/
  43. mvn clean install -am -Dmaven.test.skip -pl message/message-api/
  44. mvn clean install -am -Dmaven.test.skip -pl content/content-api/
  45. mvn clean install -am -Dmaven.test.skip -pl file/file-api/
  46. mvn clean install -am -Dmaven.test.skip -pl data/data-api/
  47. ###############################################################################
  48. # 安装 bnt 项目提供的依赖
  49. ###############################################################################
  50. cd ${proj_dir}/bnt
  51. mvn clean install -Dmaven.test.skip -pl admin-api
  52. }
  53. ###############################################################################
  54. # 构建应用
  55. ###############################################################################
  56. build_app() {
  57. ###############################################################################
  58. # 构建 oss 项目 jar 包
  59. ###############################################################################
  60. cd ${proj_dir}/oss
  61. mvn clean package -Dmaven.test.skip -pl oss-store -P${env}
  62. mkdir ${bin_dir}/oss-store
  63. cp oss-store/bin/* ${bin_dir}/oss-store
  64. ###############################################################################
  65. # 构建 bnt 项目 jar 包
  66. ###############################################################################
  67. cd ${proj_dir}/bnt
  68. mvn clean package -Dmaven.test.skip -pl web -P${env}
  69. cp web/bin/bntweb.jar ${bin_dir}
  70. ###############################################################################
  71. # 构建 tnb 项目 jar 包
  72. ###############################################################################
  73. cd ${proj_dir}/tnb
  74. mvn clean package -Dmaven.test.skip -P${env}
  75. cp gateway/target/tnb-gateway.jar ${bin_dir}
  76. cp account/account-service/target/tnb-account.jar ${bin_dir}
  77. cp user/user-service/target/tnb-user.jar ${bin_dir}
  78. cp message/message-service/target/tnb-message.jar ${bin_dir}
  79. cp file/file-service/target/tnb-file.jar ${bin_dir}
  80. cp content/content-service/target/tnb-content.jar ${bin_dir}
  81. cp data/data-service/target/tnb-data.jar ${bin_dir}
  82. ###############################################################################
  83. # 构建 tnbapp 项目
  84. ###############################################################################
  85. cd ${proj_dir}/tnbapp
  86. npm --registry http://registry.npm.taobao.org i
  87. npm run build
  88. mkdir ${bin_dir}/tnbapp
  89. cp -r dist/* ${bin_dir}/tnbapp
  90. }
  91. echo "clone 项目..."
  92. clone_proj
  93. echo "构建依赖..."
  94. build_dependencies
  95. echo "构建应用..."
  96. build_app