#!/bin/sh PROPERTIES="build.properties" PRODUCT_NAME="AUTHCENTER_SERVER" DEPENDENCY="dependencies" 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 } trap clean_up SIGINT SIGTERM if [ ! -f ${PROPERTIES} ]; then die "${PROPERTIES} is not exists." fi NEName="AuthCenter_Server" Version=$(grep 'ProductVersion=' ${PROPERTIES} | cut -d'=' -f2) Module=$(grep 'Module=' ${PROPERTIES} | cut -d'=' -f2) Provider="SVI 视维" BuildTime=$(date +"%Y-%m-%d %H:%M:%S") BuildVersion=$(date +"%Y%m%d") OUTPUT="output" OUTPUTPATH="${PWD}/output/" rm -rf ${OUTPUTPATH} mkdir -p ${OUTPUTPATH} cd .. PYINSTALLERBUILD=pyinstaller_build PYINSTALLERDIST=pyinstaller_dist SOURCEFILE=authcenter.py PYINSTALLSOFTWARE=${PYINSTALLERDIST}/software PYINSTALLERNAME=${SOURCEFILE%.*} log_info_wait "Start to Pyinstaller ..." rm -rf ${PYINSTALLERDIST} pyinstaller --distpath ${PYINSTALLERDIST} --workpath ${PYINSTALLERBUILD} ${SOURCEFILE} mv ${PYINSTALLERDIST}/${PYINSTALLERNAME} ${PYINSTALLSOFTWARE} if [ $? -ne 0 ]; then die " [FAIL]" fi cp -arf ./sql/ ${PYINSTALLSOFTWARE} if [ $? -ne 0 ]; then die " [FAIL]" fi cp -r ./etc/ ${PYINSTALLSOFTWARE} if [ $? -ne 0 ]; then die " [FAIL]" fi mkdir -p ${PYINSTALLSOFTWARE}/logsuite cp -af docker_conf/docker_authcenter.conf ${PYINSTALLSOFTWARE}/etc/authcenter.conf if [ $? -ne 0 ]; then die " [FAIL]" fi cp -af docker_conf/docker_logdb.conf ${PYINSTALLSOFTWARE}/logsuite/logdb.conf if [ $? -ne 0 ]; then die " [FAIL]" fi cp -af logsuite/LogSuite.conf ${PYINSTALLSOFTWARE}/logsuite/LogSuite.conf if [ $? -ne 0 ]; then die " [FAIL]" fi cp -af docker_conf/docker_casclient.ini ${PYINSTALLSOFTWARE}/etc/casclient.ini if [ $? -ne 0 ]; then die " [FAIL]" fi cp -ar casclient/cas_lib ${PYINSTALLSOFTWARE} if [ $? -ne 0 ]; then die " [FAIL]" fi cp -ar docker/* ${PYINSTALLERDIST} if [ $? -ne 0 ]; then die " [FAIL]" fi pwd touch version echo "NEName=${NEName}" > version echo "Version=${Version}" >> version echo "Provider=${Provider}" >> version echo "BuildTime=${BuildTime}" >> version mv version ${PYINSTALLERDIST} PACKAGENAME=${PRODUCT_NAME}_${Version}_${BuildVersion}_${Module} mv ${PYINSTALLERDIST} ${PACKAGENAME} log_info_wait "Start to pack ${NEName}..." # SVNVERSION=$(svnversion -c |sed 's/^.*://' |sed 's/[A-Z]*$//') tar -zcvf ${OUTPUTPATH}/${PRODUCT_NAME}_${Version}_${BuildVersion}_${Module}.tar.gz ${PACKAGENAME} --exclude=.svn &> /dev/null if [ $? -eq 0 ]; then log_success " [OK]" else die " [FAIL]" fi rm -rf ${PACKAGENAME} ${PYINSTALLERBUILD} *.spec exit 0