Subversion Repositories SmartDukaan

Rev

Rev 18369 | Blame | Compare with Previous | Last modification | View Log | RSS feed

#!/bin/bash
if [ $# -lt 1 ]
then
        echo "Usage: $0 <DEPLOY|ROLLBACK> <STATIC-IP>"
        exit 1
fi

ACTION=$1
if [ $ACTION != "DEPLOY" -a $ACTION != "ROLLBACK" ]
then
        echo "Wrong input"
        echo "Usage: $0 <DEPLOY|ROLLBACK>"
        exit 1
fi

# resolve links - $0 may be a softlink
PRG="$0"

while [ -h "$PRG" ]; do
  ls=`ls -ld "$PRG"`
  link=`expr "$ls" : '.*-> \(.*\)$'`
  if expr "$link" : '/.*' > /dev/null; then
    PRG="$link"
  else
    PRG=`dirname "$PRG"`/"$link"
  fi
done

# Get standard environment variables
PRGDIR=`dirname $(readlink -f "$PRG")`

LOGDIR=${PRGDIR}
TOMCAT_HOME="/var/lib/tomcat7"
PROJECT_DIR="`dirname ${PRGDIR}`"
COMMON_DIR="${PROJECT_DIR}/Common"
MAVEN_REPO="${HOME}/.m2/repository"

DATE=`date +%Y-%b-%d_%Hh%Mm`
LOGERR=error-${DATE}.log

STATIC_SERVER=$2

DEPLOYED_BUILD=`cat /catalog-dumps/current.build`
if [ $ACTION = "DEPLOY" ]
then
        LATEST_BUILD=`cat /catalog-dumps/latest.build`
        LATEST_TIMESTAMP=`cat /catalog-dumps/current.timestamp`
        if [ "$DEPLOYED_BUILD" = "$LATEST_BUILD" ]
        then
                echo "Already latest version is deployed"
                exit 1
        fi
else
        LATEST_BUILD=`cat /catalog-dumps/previous.build`
        LATEST_TIMESTAMP=`cat /catalog-dumps/current.timestamp`
        if [ "INVALID" = "$LATEST_INVALID" ]
        then
                echo "Nothing to roll back"
                exit 1
        fi
fi


touch ${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.7.egg

chmod -R 777 /usr/local/lib/python2.7/dist-packages/PyProj-0.1-py2.7.egg/

/usr/bin/python2.7 -u /usr/local/lib/python2.7/dist-packages/PyProj-0.1-py2.7.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 restart

echo "Started thrift services"
echo "======================================================================="

echo "Deploying wars"
echo "======================================================================="
# deploy war and start tomcat

rm -rf /var/lib/tomcat7/webapps/ROOT*
cp /catalog-dumps/${LATEST_BUILD}/Website-1.0-SNAPSHOT.war ${TOMCAT_HOME}/webapps/ROOT.war
rm -rf /var/lib/tomcat7/webapps/mobileapi*
cp /catalog-dumps/${LATEST_BUILD}/MobileWebsiteApi-1.0-SNAPSHOT.war ${TOMCAT_HOME}/webapps/mobileapi.war
/etc/init.d/tomcat7 restart
sleep 15
echo "Deployed wars"
echo "======================================================================="


if [ ${STATIC_SERVER} ]
then
        echo "======================================================================="
        echo "Copying js and css to static server"
        scp -r /var/lib/tomcat7/webapps/ROOT/css/* root@${STATIC_SERVER}:/var/www/static.saholic.com/css/
        scp -r /var/lib/tomcat7/webapps/ROOT/js/* root@${STATIC_SERVER}:/var/www/static.saholic.com/js/
        scp -r /var/lib/tomcat7/webapps/ROOT/images/* root@${STATIC_SERVER}:/var/www/static.saholic.com/images/
        scp -r /var/lib/tomcat7/webapps/mobileapi/images/* root@${STATIC_SERVER}:/var/www/static.saholic.com/images/mobileapi
        echo "======================================================================="
        echo "Done copying css and js to static server."
fi

ln -s /var/lib/tomcat7/webapps/export/media/website/ /var/lib/tomcat7/webapps/ROOT/images/website
ln -s /var/lib/tomcat7/webapps/export/banners/ /var/lib/tomcat7/webapps/ROOT/images/banners
ln -s /var/lib/tomcat7/webapps/export/campaignImages/ /var/lib/tomcat7/webapps/ROOT/images/campaignImages
cp -r /var/lib/tomcat7/webapps/export/helpdocs-${LATEST_TIMESTAMP} /var/lib/tomcat7/webapps/ROOT/helpdocs
cp -r /var/lib/tomcat7/webapps/export/javascripts/* /var/lib/tomcat7/webapps/ROOT/js/

if [ $ACTION = "DEPLOY" ]
then
    cat /catalog-dumps/current.build > /catalog-dumps/previous.build
    echo ${LATEST_BUILD} > /catalog-dumps/current.build
else
    echo ${LATEST_BUILD} > /catalog-dumps/current.build
    echo "INVALID" > /catalog-dumps/previous.build
fi

#Clean up IO redirection
exec 2>&7 7>&-      # Restore stdout and close file descriptor #7.