Rev 8918 | Rev 11051 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
#!/bin/bashif [ $# -lt 1 ]thenecho "Usage: $0 <DEPLOY|ROLLBACK> <STATIC-IP>"exit 1fiACTION=$1if [ $ACTION != "DEPLOY" -a $ACTION != "ROLLBACK" ]thenecho "Wrong input"echo "Usage: $0 <DEPLOY|ROLLBACK>"exit 1fi# resolve links - $0 may be a softlinkPRG="$0"while [ -h "$PRG" ]; dols=`ls -ld "$PRG"`link=`expr "$ls" : '.*-> \(.*\)$'`if expr "$link" : '/.*' > /dev/null; thenPRG="$link"elsePRG=`dirname "$PRG"`/"$link"fidone# Get standard environment variablesPRGDIR=`dirname $(readlink -f "$PRG")`LOGDIR=${PRGDIR}TOMCAT_HOME="/var/lib/tomcat6"PROJECT_DIR="`dirname ${PRGDIR}`"COMMON_DIR="${PROJECT_DIR}/Common"MAVEN_REPO="${HOME}/.m2/repository"DATE=`date +%Y-%b-%d_%Hh%Mm`LOGERR=error-${DATE}.logSTATIC_SERVER=$2DEPLOYED_BUILD=`cat /catalog-dumps/current.build`if [ $ACTION = "DEPLOY" ]thenLATEST_BUILD=`cat /catalog-dumps/latest.build`LATEST_TIMESTAMP=`cat /catalog-dumps/current.timestamp`if [ "$DEPLOYED_BUILD" = "$LATEST_BUILD" ]thenecho "Already latest version is deployed"exit 1fielseLATEST_BUILD=`cat /catalog-dumps/previous.build`LATEST_TIMESTAMP=`cat /catalog-dumps/current.timestamp`if [ "INVALID" = "$LATEST_INVALID" ]thenecho "Nothing to roll back"exit 1fifitouch ${LOGERR}exec 7>&2 # Link file descriptor #7 with stderr.# Saves stderr.exec 2> ${LOGERR} # stderr replaced with file ${LOGERR}.echo "Doing svn up on the version "echo "======================================================================="svn up ${PROJECT_DIR} -r `cat /catalog-dumps/svn.revision`echo "======================================================================="echo "Starting thrift services"echo "======================================================================="easy_install /catalog-dumps/${LATEST_BUILD}/PyProj-0.1-py2.6.egg/usr/bin/python2.6 -u /usr/local/lib/python2.6/dist-packages/PyProj-0.1-py2.6.egg/shop2020/config/script/ConfigPropertiesReloader.py/etc/init.d/catalog-server restart/etc/init.d/inventory-server restart/etc/init.d/user-server restart/etc/init.d/order-server restart/etc/init.d/logistics-server restart/etc/init.d/helper-server restart/etc/init.d/promotion-server restart/etc/init.d/payment-server restartecho "Started thrift services"echo "======================================================================="echo "Deploying wars"echo "======================================================================="# deploy war and start tomcatrm -rf /var/lib/tomcat6/webapps/ROOT*cp /catalog-dumps/${LATEST_BUILD}/Website-1.0-SNAPSHOT.war ${TOMCAT_HOME}/webapps/ROOT.warrm -rf /var/lib/tomcat6/webapps/mobileapi*cp /catalog-dumps/${LATEST_BUILD}/MobileWebsiteApi-1.0-SNAPSHOT.war ${TOMCAT_HOME}/webapps/mobileapi.war/etc/init.d/tomcat6 restartsleep 5echo "Deployed wars"echo "======================================================================="if [ ${STATIC_SERVER} ]thenecho "======================================================================="echo "Copying js and css to static server"scp -r /var/lib/tomcat6/webapps/ROOT/css/* root@${STATIC_SERVER}:/var/www/static.saholic.com/css/scp -r /var/lib/tomcat6/webapps/ROOT/js/* root@${STATIC_SERVER}:/var/www/static.saholic.com/js/scp -r /var/lib/tomcat6/webapps/ROOT/images/* root@${STATIC_SERVER}:/var/www/static.saholic.com/images/scp -r /var/lib/tomcat6/webapps/ROOT/mobileapi/images/* root@${STATIC_SERVER}:/var/www/static.saholic.com/images/mobileapiecho "======================================================================="echo "Done copying css and js to static server."filn -s /var/lib/tomcat6/webapps/export/media/website/ /var/lib/tomcat6/webapps/ROOT/images/websiteln -s /var/lib/tomcat6/webapps/export/banners/ /var/lib/tomcat6/webapps/ROOT/images/bannersln -s /var/lib/tomcat6/webapps/export/campaignImages/ /var/lib/tomcat6/webapps/ROOT/images/campaignImagescp -r /var/lib/tomcat6/webapps/export/helpdocs-${LATEST_TIMESTAMP} /var/lib/tomcat6/webapps/ROOT/helpdocscp -r /var/lib/tomcat6/webapps/export/javascripts/* /var/lib/tomcat6/webapps/ROOT/js/if [ $ACTION = "DEPLOY" ]thencat /catalog-dumps/current.build > /catalog-dumps/previous.buildecho ${LATEST_BUILD} > /catalog-dumps/current.buildelseecho ${LATEST_BUILD} > /catalog-dumps/current.buildecho "INVALID" > /catalog-dumps/previous.buildfi#Clean up IO redirectionexec 2>&7 7>&- # Restore stdout and close file descriptor #7.