| 1652 |
rajveer |
1 |
#!/bin/bash
|
| 4850 |
rajveer |
2 |
if [ $# -lt 1 ]
|
|
|
3 |
then
|
|
|
4 |
echo "Usage: $0 <DEPLOY|ROLLBACK> <STATIC-IP>"
|
|
|
5 |
exit 1
|
|
|
6 |
fi
|
| 1652 |
rajveer |
7 |
|
| 4853 |
rajveer |
8 |
ACTION=$1
|
|
|
9 |
if [ $ACTION != "DEPLOY" -a $ACTION != "ROLLBACK" ]
|
|
|
10 |
then
|
|
|
11 |
echo "Wrong input"
|
|
|
12 |
echo "Usage: $0 <DEPLOY|ROLLBACK>"
|
|
|
13 |
exit 1
|
|
|
14 |
fi
|
|
|
15 |
|
| 1652 |
rajveer |
16 |
# resolve links - $0 may be a softlink
|
|
|
17 |
PRG="$0"
|
|
|
18 |
|
|
|
19 |
while [ -h "$PRG" ]; do
|
|
|
20 |
ls=`ls -ld "$PRG"`
|
|
|
21 |
link=`expr "$ls" : '.*-> \(.*\)$'`
|
|
|
22 |
if expr "$link" : '/.*' > /dev/null; then
|
|
|
23 |
PRG="$link"
|
|
|
24 |
else
|
|
|
25 |
PRG=`dirname "$PRG"`/"$link"
|
|
|
26 |
fi
|
|
|
27 |
done
|
|
|
28 |
|
|
|
29 |
# Get standard environment variables
|
|
|
30 |
PRGDIR=`dirname $(readlink -f "$PRG")`
|
|
|
31 |
|
|
|
32 |
LOGDIR=${PRGDIR}
|
| 19047 |
kshitij.so |
33 |
TOMCAT_HOME="/var/lib/tomcat7"
|
| 1652 |
rajveer |
34 |
PROJECT_DIR="`dirname ${PRGDIR}`"
|
|
|
35 |
COMMON_DIR="${PROJECT_DIR}/Common"
|
|
|
36 |
MAVEN_REPO="${HOME}/.m2/repository"
|
|
|
37 |
|
|
|
38 |
DATE=`date +%Y-%b-%d_%Hh%Mm`
|
|
|
39 |
LOGERR=error-${DATE}.log
|
|
|
40 |
|
| 4850 |
rajveer |
41 |
STATIC_SERVER=$2
|
| 2863 |
chandransh |
42 |
|
| 4850 |
rajveer |
43 |
DEPLOYED_BUILD=`cat /catalog-dumps/current.build`
|
|
|
44 |
if [ $ACTION = "DEPLOY" ]
|
|
|
45 |
then
|
|
|
46 |
LATEST_BUILD=`cat /catalog-dumps/latest.build`
|
|
|
47 |
LATEST_TIMESTAMP=`cat /catalog-dumps/current.timestamp`
|
|
|
48 |
if [ "$DEPLOYED_BUILD" = "$LATEST_BUILD" ]
|
|
|
49 |
then
|
|
|
50 |
echo "Already latest version is deployed"
|
|
|
51 |
exit 1
|
|
|
52 |
fi
|
|
|
53 |
else
|
|
|
54 |
LATEST_BUILD=`cat /catalog-dumps/previous.build`
|
|
|
55 |
LATEST_TIMESTAMP=`cat /catalog-dumps/current.timestamp`
|
|
|
56 |
if [ "INVALID" = "$LATEST_INVALID" ]
|
|
|
57 |
then
|
|
|
58 |
echo "Nothing to roll back"
|
|
|
59 |
exit 1
|
|
|
60 |
fi
|
|
|
61 |
fi
|
|
|
62 |
|
|
|
63 |
|
| 1652 |
rajveer |
64 |
touch ${LOGERR}
|
|
|
65 |
exec 7>&2 # Link file descriptor #7 with stderr.
|
|
|
66 |
# Saves stderr.
|
|
|
67 |
exec 2> ${LOGERR} # stderr replaced with file ${LOGERR}.
|
|
|
68 |
|
| 4850 |
rajveer |
69 |
|
| 2862 |
chandransh |
70 |
echo "Doing svn up on the version "
|
|
|
71 |
echo "======================================================================="
|
| 2979 |
chandransh |
72 |
svn up ${PROJECT_DIR} -r `cat /catalog-dumps/svn.revision`
|
| 2862 |
chandransh |
73 |
echo "======================================================================="
|
|
|
74 |
|
| 4727 |
rajveer |
75 |
echo "Starting thrift services"
|
| 1652 |
rajveer |
76 |
echo "======================================================================="
|
|
|
77 |
|
| 19047 |
kshitij.so |
78 |
easy_install /catalog-dumps/${LATEST_BUILD}/PyProj-0.1-py2.7.egg
|
| 1652 |
rajveer |
79 |
|
| 19047 |
kshitij.so |
80 |
chmod -R 777 /usr/local/lib/python2.7/dist-packages/PyProj-0.1-py2.7.egg/
|
| 5339 |
anupam.sin |
81 |
|
| 19047 |
kshitij.so |
82 |
/usr/bin/python2.7 -u /usr/local/lib/python2.7/dist-packages/PyProj-0.1-py2.7.egg/shop2020/config/script/ConfigPropertiesReloader.py
|
|
|
83 |
|
| 4850 |
rajveer |
84 |
/etc/init.d/catalog-server restart
|
| 5952 |
mandeep.dh |
85 |
/etc/init.d/inventory-server restart
|
| 4850 |
rajveer |
86 |
/etc/init.d/user-server restart
|
|
|
87 |
/etc/init.d/order-server restart
|
|
|
88 |
/etc/init.d/logistics-server restart
|
|
|
89 |
/etc/init.d/helper-server restart
|
|
|
90 |
/etc/init.d/promotion-server restart
|
|
|
91 |
/etc/init.d/payment-server restart
|
| 2863 |
chandransh |
92 |
|
| 4727 |
rajveer |
93 |
echo "Started thrift services"
|
| 1652 |
rajveer |
94 |
echo "======================================================================="
|
|
|
95 |
|
| 4850 |
rajveer |
96 |
echo "Deploying wars"
|
| 1652 |
rajveer |
97 |
echo "======================================================================="
|
|
|
98 |
# deploy war and start tomcat
|
| 4850 |
rajveer |
99 |
|
| 19047 |
kshitij.so |
100 |
rm -rf /var/lib/tomcat7/webapps/ROOT*
|
| 4850 |
rajveer |
101 |
cp /catalog-dumps/${LATEST_BUILD}/Website-1.0-SNAPSHOT.war ${TOMCAT_HOME}/webapps/ROOT.war
|
| 19047 |
kshitij.so |
102 |
rm -rf /var/lib/tomcat7/webapps/mobileapi*
|
| 11035 |
amit.gupta |
103 |
cp /catalog-dumps/${LATEST_BUILD}/MobileWebsiteApi-1.0-SNAPSHOT.war ${TOMCAT_HOME}/webapps/mobileapi.war
|
| 18368 |
kshitij.so |
104 |
/etc/init.d/tomcat7 restart
|
| 18369 |
kshitij.so |
105 |
sleep 15
|
| 4850 |
rajveer |
106 |
echo "Deployed wars"
|
| 1652 |
rajveer |
107 |
echo "======================================================================="
|
|
|
108 |
|
| 3942 |
rajveer |
109 |
|
| 2863 |
chandransh |
110 |
if [ ${STATIC_SERVER} ]
|
|
|
111 |
then
|
|
|
112 |
echo "======================================================================="
|
|
|
113 |
echo "Copying js and css to static server"
|
| 19047 |
kshitij.so |
114 |
scp -r /var/lib/tomcat7/webapps/ROOT/css/* root@${STATIC_SERVER}:/var/www/static.saholic.com/css/
|
|
|
115 |
scp -r /var/lib/tomcat7/webapps/ROOT/js/* root@${STATIC_SERVER}:/var/www/static.saholic.com/js/
|
|
|
116 |
scp -r /var/lib/tomcat7/webapps/ROOT/images/* root@${STATIC_SERVER}:/var/www/static.saholic.com/images/
|
|
|
117 |
scp -r /var/lib/tomcat7/webapps/mobileapi/images/* root@${STATIC_SERVER}:/var/www/static.saholic.com/images/mobileapi
|
| 2863 |
chandransh |
118 |
echo "======================================================================="
|
|
|
119 |
echo "Done copying css and js to static server."
|
|
|
120 |
fi
|
| 2862 |
chandransh |
121 |
|
| 19047 |
kshitij.so |
122 |
ln -s /var/lib/tomcat7/webapps/export/media/website/ /var/lib/tomcat7/webapps/ROOT/images/website
|
|
|
123 |
ln -s /var/lib/tomcat7/webapps/export/banners/ /var/lib/tomcat7/webapps/ROOT/images/banners
|
|
|
124 |
ln -s /var/lib/tomcat7/webapps/export/campaignImages/ /var/lib/tomcat7/webapps/ROOT/images/campaignImages
|
|
|
125 |
cp -r /var/lib/tomcat7/webapps/export/helpdocs-${LATEST_TIMESTAMP} /var/lib/tomcat7/webapps/ROOT/helpdocs
|
|
|
126 |
cp -r /var/lib/tomcat7/webapps/export/javascripts/* /var/lib/tomcat7/webapps/ROOT/js/
|
| 4850 |
rajveer |
127 |
|
|
|
128 |
if [ $ACTION = "DEPLOY" ]
|
|
|
129 |
then
|
|
|
130 |
cat /catalog-dumps/current.build > /catalog-dumps/previous.build
|
|
|
131 |
echo ${LATEST_BUILD} > /catalog-dumps/current.build
|
|
|
132 |
else
|
|
|
133 |
echo ${LATEST_BUILD} > /catalog-dumps/current.build
|
|
|
134 |
echo "INVALID" > /catalog-dumps/previous.build
|
|
|
135 |
fi
|
|
|
136 |
|
| 1652 |
rajveer |
137 |
#Clean up IO redirection
|
|
|
138 |
exec 2>&7 7>&- # Restore stdout and close file descriptor #7.
|