build.sh 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. #!/bin/bash
  2. ###############################################################################
  3. # 构建 tnb 应用
  4. ###############################################################################
  5. set -e
  6. proj_dir=`pwd`
  7. env='dev'
  8. ###############################################################################
  9. # 构建依赖
  10. ###############################################################################
  11. build_dependencies() {
  12. cd ${proj_dir}
  13. git clone --depth=1 https://git.reghao.cn/reghao/jutil
  14. cd jutil
  15. mvn clean install -Dmaven.test.skip
  16. cd ${proj_dir}
  17. git clone --depth=1 https://git.reghao.cn/reghao/oss
  18. cd oss
  19. mvn clean install -Dmaven.test.skip -am -pl oss-api
  20. }
  21. install_dependencies() {
  22. cd ${proj_dir}
  23. mvn clean install -Dmaven.test.skip -am -pl common
  24. mvn clean install -Dmaven.test.skip -am -pl account/account-api/
  25. mvn clean install -Dmaven.test.skip -am -pl user/user-api/
  26. mvn clean install -Dmaven.test.skip -am -pl message/message-api/
  27. mvn clean install -Dmaven.test.skip -am -pl content/content-api/
  28. mvn clean install -Dmaven.test.skip -am -pl file/file-api/
  29. mvn clean install -Dmaven.test.skip -am -pl search/search-api/
  30. mvn clean install -Dmaven.test.skip -am -pl data/data-api/
  31. }
  32. deploy_dependencies() {
  33. cd ${proj_dir}
  34. mvn clean deploy -Dmaven.test.skip -am -pl common
  35. mvn clean deploy -Dmaven.test.skip -am -pl account/account-api/
  36. mvn clean deploy -Dmaven.test.skip -am -pl user/user-api/
  37. mvn clean deploy -Dmaven.test.skip -am -pl message/message-api/
  38. mvn clean deploy -Dmaven.test.skip -am -pl content/content-api/
  39. mvn clean deploy -Dmaven.test.skip -am -pl file/file-api/
  40. mvn clean deploy -Dmaven.test.skip -am -pl search/search-api/
  41. mvn clean deploy -Dmaven.test.skip -am -pl data/data-api/
  42. }
  43. ###############################################################################
  44. # 构建 tnb 应用 jar 包
  45. ###############################################################################
  46. build_jar() {
  47. cd ${proj_dir}
  48. mvn clean package -Dmaven.test.skip -P${env}
  49. }
  50. ###############################################################################
  51. # 构建 tnb 应用镜像
  52. ###############################################################################
  53. build_image() {
  54. commit_id=`git rev-parse HEAD | cut -c 1-8`
  55. docker_prefix='tnb'
  56. cd ${proj_dir}/tnb/gateway/
  57. docker build -t ${docker_prefix}/gateway:${commit_id} .
  58. cd ${proj_dir}/tnb/account/account-service/
  59. docker build -t ${docker_prefix}/account:${commit_id} .
  60. cd ${proj_dir}/tnb/user/user-service/
  61. docker build -t ${docker_prefix}/user:${commit_id} .
  62. cd ${proj_dir}/tnb/message/message-service/
  63. docker build -t ${docker_prefix}/message:${commit_id} .
  64. cd ${proj_dir}/tnb/content/content-service/
  65. docker build -t ${docker_prefix}/content:${commit_id} .
  66. cd ${proj_dir}/tnb/file/
  67. docker build -t ${docker_prefix}/file:${commit_id} .
  68. }
  69. echo "安装 tnb 依赖到本地仓库..."
  70. #install_dependencies
  71. echo "部署 tnb 依赖到远程仓库..."
  72. #deploy_dependencies
  73. echo "构建第三方依赖..."
  74. build_dependencies
  75. echo "构建 tnb jar 应用..."
  76. build_jar
  77. echo "构建 tnb docker 应用..."
  78. #build_image