#!/bin/bash PROPERTIES="build.properties" module_server="CAS_SERVER" DEPENDENCY="dependency" RED_COLOE='\E[31m' GREEN_COLOR='\E[32m' YELLOW_COLOR='\E[33m' BLUE_COLOR='\E[34m' REDB_COLOE='\E[1;31m' GREENB_COLOR='\E[1;32m' YELLOWB_COLOR='\E[1;33m' BLUEB_COLOR='\E[1;34m' RES='\E[0m' log_info() { echo -e "${GREEN_COLOR}$1${RES}" } log_info_wait() { echo -en "${GREEN_COLOR}$1${RES}" } log_error() { echo -e "${REDB_COLOE}$1${RES}" } log_success() { echo -e "${GREENB_COLOR}$1${RES}" } clean_up() { rm -rf ${BUILD} exit 1 } die() { log_error "$1" clean_up } CAS_CODE_DIR="/home/sviauto/.jenkins/workspace/Docker_CAS_server" TAGS_DIR="${CAS_CODE_DIR}/cas/tags_dir" bulid(){ BULID_DIR="${CAS_CODE_DIR}/cas/bulid_dir" if [ -d ${BULID_DIR} ]; then echo "${BULID_DIR} exits." rm -rf ${BULID_DIR} mkdir -p ${BULID_DIR} else echo "${BULID_DIR} not exits." mkdir -p ${BULID_DIR} fi cd ${BULID_DIR} if [ -f "${BULID_DIR}/dist/CAS" ]; then echo "CAS exe exits." rm -rf CAS fi echo "${CAS_CODE_DIR}/src/CAS.py" pyinstaller -F "${CAS_CODE_DIR}/src/CAS.py" if [ $? -ne 0 ]; then die "[bulid FAIL]" else echo " [bulid OK]" fi } cp_exe() { if [ -d ${TAGS_DIR} ]; then echo "${TAGS_DIR} exits." rm -rf ${TAGS_DIR} mkdir -p ${TAGS_DIR} else echo "${TAGS_DIR} not exits." mkdir -p ${TAGS_DIR} fi cd ${TAGS_DIR} mkdir "software" mkdir "sql" if [ -f "${BULID_DIR}/dist/CAS" ]; then cp "${BULID_DIR}/dist/CAS" "${TAGS_DIR}/software/" else echo "CAS exe not exits." exit 0 fi if [ $? -ne 0 ]; then die "[cp exe FAIL]" else log_success "[cp exe OK]" fi } cp_utils(){ cp -r ${CAS_CODE_DIR}/src/utils ${TAGS_DIR}/software/ if [ ! -d "${TAGS_DIR}/software/utils" ];then die "cp casclient FAIL" exit 0 else log_success "cp utils success" cd ${TAGS_DIR}/software/utils/casclient rm -rf *.py cd ../logsuite rm -rf *.py fi cp ${CAS_CODE_DIR}/src/docker_conf.ini ${TAGS_DIR}/software/conf.ini cp -r ${CAS_CODE_DIR}/src/lib ${TAGS_DIR}/software/ cp -rp ${CAS_CODE_DIR}/docker/* ${TAGS_DIR}/ cp ${CAS_CODE_DIR}/etc/docker_setup.sql ${TAGS_DIR}/sql/setup.sql cp ${CAS_CODE_DIR}/src/utils/casclient/docker_casclient.ini ${TAGS_DIR}/software/utils/casclient/casclient.ini cp ${CAS_CODE_DIR}/src/utils/logsuite/docker_logdb.conf ${TAGS_DIR}/software/utils/logsuite/logdb.conf } NEName="CAS_server" Version=$(grep 'ProductVersion=' ${CAS_CODE_DIR}/build/build.properies | cut -d'=' -f2) Module=$(grep 'Module=' ${CAS_CODE_DIR}/build/build.properies | cut -d'=' -f2) Provider="Sowell 视维" BuildTime=$(date +"%Y-%m-%d %H:%M:%S") BuildVersion=$(date +"%Y%m%d") write_version(){ echo "NEName=${NEName}" > ${TAGS_DIR}/version echo "Version=${Version}" echo "Version=${Version}" >> ${TAGS_DIR}/version echo "Provider=${Provider}" >> ${TAGS_DIR}/version echo "BuildTime=${BuildTime}" >> ${TAGS_DIR}/version } tags_dir(){ cd ${CAS_CODE_DIR}/cas mv tags_dir ${module_server}_${Version}_${BuildVersion}_${Module} TAG=${module_server}_${Version}_${BuildVersion}_${Module} tar -zcvf ${module_server}_${Version}_${BuildVersion}_${Module}.tar.gz ${TAG} --exclude=.svn if [ $? -eq 0 ]; then log_success " [OK]" else die " [FAIL]" fi rm -rf ${TAG} } #安装依赖�? #编译 bulid #cp可执行程�? cp_exe #cp工具和sql、以及命�? cp_utils #写版�? write_version #打包 tags_dir exit 0