docker_dcmpserver_build.sh 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173
  1. #!/bin/bash
  2. PROPERTIES="build.properties"
  3. module_server="DCMP_SERVER"
  4. DEPENDENCY="dependency"
  5. RED_COLOE='\E[31m'
  6. GREEN_COLOR='\E[32m'
  7. YELLOW_COLOR='\E[33m'
  8. BLUE_COLOR='\E[34m'
  9. REDB_COLOE='\E[1;31m'
  10. GREENB_COLOR='\E[1;32m'
  11. YELLOWB_COLOR='\E[1;33m'
  12. BLUEB_COLOR='\E[1;34m'
  13. RES='\E[0m'
  14. log_info() {
  15. echo -e "${GREEN_COLOR}$1${RES}"
  16. }
  17. log_info_wait() {
  18. echo -en "${GREEN_COLOR}$1${RES}"
  19. }
  20. log_error() {
  21. echo -e "${REDB_COLOE}$1${RES}"
  22. }
  23. log_success() {
  24. echo -e "${GREENB_COLOR}$1${RES}"
  25. }
  26. clean_up() {
  27. rm -rf ${BUILD}
  28. exit 1
  29. }
  30. die() {
  31. log_error "$1"
  32. clean_up
  33. }
  34. PARAMNUM=$#
  35. if [ "$PARAMNUM" -ne "2" ];then
  36. echo "-p project_name"
  37. echo "demo: sh build.sh -p DCMP_Server"
  38. exit 1
  39. fi
  40. DCMP_CODE_DIR="/home/sviauto/.jenkins/workspace/Docker_DCMP_server"
  41. TAGS_DIR="${DCMP_CODE_DIR}/dcmp/tags_dir"
  42. bulid(){
  43. BULID_DIR="${DCMP_CODE_DIR}/dcmp/bulid_dir"
  44. if [ -d ${BULID_DIR} ]; then
  45. echo "${BULID_DIR} exits."
  46. rm -rf ${BULID_DIR}
  47. mkdir -p ${BULID_DIR}
  48. else
  49. echo "${BULID_DIR} not exits."
  50. mkdir -p ${BULID_DIR}
  51. fi
  52. cd ${BULID_DIR}
  53. if [ -f "${BULID_DIR}/dist/dcmpServer" ]; then
  54. echo "dcmpServer exe exits."
  55. rm -rf dcmpServer
  56. fi
  57. echo "${DCMP_CODE_DIR}/src/dcmpServer.py"
  58. pyinstaller -F "${DCMP_CODE_DIR}/src/dcmpServer.py"
  59. if [ $? -ne 0 ]; then
  60. die "[bulid FAIL]"
  61. else
  62. echo " [bulid OK]"
  63. fi
  64. }
  65. cp_exe() {
  66. if [ -d ${TAGS_DIR} ]; then
  67. echo "${TAGS_DIR} exits."
  68. rm -rf ${TAGS_DIR}
  69. mkdir -p ${TAGS_DIR}
  70. else
  71. echo "${TAGS_DIR} not exits."
  72. mkdir -p ${TAGS_DIR}
  73. fi
  74. cd ${TAGS_DIR}
  75. mkdir "sql"
  76. mkdir "software"
  77. if [ -f "${BULID_DIR}/dist/dcmpServer" ]; then
  78. cp "${BULID_DIR}/dist/dcmpServer" "${TAGS_DIR}/software/"
  79. else
  80. echo "dcmpServer exe not exits."
  81. exit 0
  82. fi
  83. if [ $? -ne 0 ]; then
  84. die "[cp exe FAIL]"
  85. else
  86. log_success "[cp exe OK]"
  87. fi
  88. }
  89. cp_utils(){
  90. cp -r ${DCMP_CODE_DIR}/src/utils ${TAGS_DIR}/software/
  91. if [ ! -d "${TAGS_DIR}/software/utils" ];then
  92. die "cp utils FAIL"
  93. exit 0
  94. else
  95. log_success "cp utils success"
  96. cd "${TAGS_DIR}/software/utils"
  97. pwd
  98. rm -rf ./*/*.py
  99. rm -rf *.py
  100. fi
  101. cp ${DCMP_CODE_DIR}/src/utils/docker_config.ini ${TAGS_DIR}/software/utils/config.ini
  102. cp -r ${DCMP_CODE_DIR}/src/lib ${TAGS_DIR}/
  103. cp -rp ${DCMP_CODE_DIR}/docker/* ${TAGS_DIR}
  104. cp ${DCMP_CODE_DIR}/etc/* ${TAGS_DIR}/sql/
  105. cp ${DCMP_CODE_DIR}/src/utils/casclient/docker_casclient.ini ${TAGS_DIR}/software/utils/casclient/casclient.ini
  106. cp ${DCMP_CODE_DIR}/src/utils/authclient/docker_licenseclient.conf ${TAGS_DIR}/software/utils/authclient/licenseclient.conf
  107. cp ${DCMP_CODE_DIR}/src/utils/logsuite/docker_logdb.conf ${TAGS_DIR}/software/utils/logsuite/logdb.conf
  108. }
  109. NEName="DCMP_SERVER"
  110. Version=$(grep 'ProductVersion=' ${DCMP_CODE_DIR}/build/build.properies | cut -d'=' -f2)
  111. Module=$(grep 'Module=' ${DCMP_CODE_DIR}/build/build.properies | cut -d'=' -f2)
  112. Provider="Sowell 视维"
  113. BuildTime=$(date +"%Y-%m-%d %H:%M:%S")
  114. BuildVersion=$(date +"%Y%m%d")
  115. write_version(){
  116. echo "NEName=${NEName}" > ${TAGS_DIR}/version
  117. echo "Version=${Version}"
  118. echo "Version=${Version}" >> ${TAGS_DIR}/version
  119. echo "Provider=${Provider}" >> ${TAGS_DIR}/version
  120. echo "BuildTime=${BuildTime}" >> ${TAGS_DIR}/version
  121. }
  122. tags_dir(){
  123. cd ${DCMP_CODE_DIR}/dcmp
  124. cp -r tags_dir ${module_server}_${Version}_${BuildVersion}_${Module}
  125. TAG=${module_server}_${Version}_${BuildVersion}_${Module}
  126. tar -zcvf ${module_server}_${Version}_${BuildVersion}_${Module}.tar.gz ${TAG} --exclude=.svn
  127. if [ $? -eq 0 ]; then
  128. log_success " [OK]"
  129. else
  130. die " [FAIL]"
  131. fi
  132. rm -rf ${TAG}
  133. }
  134. #安装依赖�?
  135. #编译
  136. bulid
  137. #cp可执行程�?
  138. cp_exe
  139. #cp工具和sql、以及命�?
  140. cp_utils
  141. #写版�?
  142. write_version
  143. #打包
  144. tags_dir
  145. exit 0