| Line 1... |
Line 1... |
| 1 |
#!/bin/bash
|
1 |
#!/bin/bash
|
| - |
|
2 |
if [ $# -lt 1 ]
|
| - |
|
3 |
then
|
| - |
|
4 |
echo "Usage: $0 <DEPLOY|ROLLBACK> <STATIC-IP>"
|
| - |
|
5 |
exit 1
|
| - |
|
6 |
fi
|
| 2 |
|
7 |
|
| 3 |
# resolve links - $0 may be a softlink
|
8 |
# resolve links - $0 may be a softlink
|
| 4 |
PRG="$0"
|
9 |
PRG="$0"
|
| 5 |
|
10 |
|
| 6 |
while [ -h "$PRG" ]; do
|
11 |
while [ -h "$PRG" ]; do
|
| Line 23... |
Line 28... |
| 23 |
MAVEN_REPO="${HOME}/.m2/repository"
|
28 |
MAVEN_REPO="${HOME}/.m2/repository"
|
| 24 |
|
29 |
|
| 25 |
DATE=`date +%Y-%b-%d_%Hh%Mm`
|
30 |
DATE=`date +%Y-%b-%d_%Hh%Mm`
|
| 26 |
LOGERR=error-${DATE}.log
|
31 |
LOGERR=error-${DATE}.log
|
| 27 |
|
32 |
|
| 28 |
STATIC_SERVER=$1
|
33 |
STATIC_SERVER=$2
|
| - |
|
34 |
ACTION=$1
|
| - |
|
35 |
|
| - |
|
36 |
DEPLOYED_BUILD=`cat /catalog-dumps/current.build`
|
| - |
|
37 |
if [ $ACTION = "DEPLOY" ]
|
| - |
|
38 |
then
|
| - |
|
39 |
LATEST_BUILD=`cat /catalog-dumps/latest.build`
|
| - |
|
40 |
LATEST_TIMESTAMP=`cat /catalog-dumps/current.timestamp`
|
| - |
|
41 |
if [ "$DEPLOYED_BUILD" = "$LATEST_BUILD" ]
|
| - |
|
42 |
then
|
| - |
|
43 |
echo "Already latest version is deployed"
|
| - |
|
44 |
exit 1
|
| - |
|
45 |
fi
|
| - |
|
46 |
else
|
| - |
|
47 |
LATEST_BUILD=`cat /catalog-dumps/previous.build`
|
| - |
|
48 |
LATEST_TIMESTAMP=`cat /catalog-dumps/current.timestamp`
|
| - |
|
49 |
if [ "INVALID" = "$LATEST_INVALID" ]
|
| - |
|
50 |
then
|
| - |
|
51 |
echo "Nothing to roll back"
|
| - |
|
52 |
exit 1
|
| - |
|
53 |
fi
|
| - |
|
54 |
fi
|
| - |
|
55 |
|
| 29 |
|
56 |
|
| 30 |
touch ${LOGERR}
|
57 |
touch ${LOGERR}
|
| 31 |
exec 7>&2 # Link file descriptor #7 with stderr.
|
58 |
exec 7>&2 # Link file descriptor #7 with stderr.
|
| 32 |
# Saves stderr.
|
59 |
# Saves stderr.
|
| 33 |
exec 2> ${LOGERR} # stderr replaced with file ${LOGERR}.
|
60 |
exec 2> ${LOGERR} # stderr replaced with file ${LOGERR}.
|
| 34 |
|
61 |
|
| - |
|
62 |
|
| 35 |
echo "Doing svn up on the version "
|
63 |
echo "Doing svn up on the version "
|
| 36 |
echo "======================================================================="
|
64 |
echo "======================================================================="
|
| 37 |
svn up ${PROJECT_DIR} -r `cat /catalog-dumps/svn.revision`
|
65 |
svn up ${PROJECT_DIR} -r `cat /catalog-dumps/svn.revision`
|
| 38 |
echo "======================================================================="
|
66 |
echo "======================================================================="
|
| 39 |
|
67 |
|
| 40 |
echo "Starting thrift services"
|
68 |
echo "Starting thrift services"
|
| 41 |
echo "======================================================================="
|
69 |
echo "======================================================================="
|
| 42 |
|
70 |
|
| 43 |
cd $PROJECT_DIR/runutils
|
- |
|
| 44 |
./kill.sh
|
- |
|
| 45 |
./start-py-services.sh
|
- |
|
| 46 |
/etc/init.d/payment-server start
|
71 |
easy_install /catalog-dumps/${LATEST_BUILD}/PyProj-0.1-py2.6.egg
|
| 47 |
|
72 |
|
| - |
|
73 |
/etc/init.d/catalog-server restart
|
| - |
|
74 |
/etc/init.d/user-server restart
|
| - |
|
75 |
/etc/init.d/order-server restart
|
| - |
|
76 |
/etc/init.d/logistics-server restart
|
| - |
|
77 |
/etc/init.d/helper-server restart
|
| - |
|
78 |
/etc/init.d/promotion-server restart
|
| - |
|
79 |
/etc/init.d/payment-server restart
|
| 48 |
|
80 |
|
| 49 |
echo "Started thrift services"
|
81 |
echo "Started thrift services"
|
| 50 |
echo "======================================================================="
|
82 |
echo "======================================================================="
|
| 51 |
|
83 |
|
| 52 |
echo "Starting Tomcat"
|
84 |
echo "Deploying wars"
|
| 53 |
echo "======================================================================="
|
85 |
echo "======================================================================="
|
| 54 |
# deploy war and start tomcat
|
86 |
# deploy war and start tomcat
|
| 55 |
/etc/init.d/tomcat6 stop
|
- |
|
| - |
|
87 |
|
| 56 |
rm -rf ${TOMCAT_HOME}/webapps/ROOT*
|
88 |
rm -rf /var/lib/tomcat6/webapps/ROOT*
|
| 57 |
cp ${MAVEN_REPO}/in/shop2020/Website/1.0-SNAPSHOT/Website-1.0-SNAPSHOT.war ${TOMCAT_HOME}/webapps/ROOT.war
|
89 |
cp /catalog-dumps/${LATEST_BUILD}/Website-1.0-SNAPSHOT.war ${TOMCAT_HOME}/webapps/ROOT.war
|
| 58 |
/etc/init.d/tomcat6 start
|
90 |
/etc/init.d/tomcat6 restart
|
| 59 |
sleep 5
|
91 |
sleep 5
|
| 60 |
echo "Started tomcat"
|
92 |
echo "Deployed wars"
|
| 61 |
echo "======================================================================="
|
93 |
echo "======================================================================="
|
| 62 |
|
94 |
|
| 63 |
ln -s /var/lib/tomcat6/webapps/export/media/website/ /var/lib/tomcat6/webapps/ROOT/images/website
|
- |
|
| 64 |
|
95 |
|
| 65 |
if [ ${STATIC_SERVER} ]
|
96 |
if [ ${STATIC_SERVER} ]
|
| 66 |
then
|
97 |
then
|
| 67 |
echo "======================================================================="
|
98 |
echo "======================================================================="
|
| 68 |
echo "Copying js and css to static server"
|
99 |
echo "Copying js and css to static server"
|
| 69 |
scp -r /var/lib/tomcat6/webapps/ROOT/css/* root@${STATIC_SERVER}:/var/www/static.saholic.com/css/
|
100 |
scp -r /var/lib/tomcat6/webapps/ROOT/css/* root@${STATIC_SERVER}:/var/www/static.saholic.com/css/
|
| 70 |
scp -r /var/lib/tomcat6/webapps/ROOT/js/* root@${STATIC_SERVER}:/var/www/static.saholic.com/js/
|
101 |
scp -r /var/lib/tomcat6/webapps/ROOT/js/* root@${STATIC_SERVER}:/var/www/static.saholic.com/js/
|
| 71 |
#scp -r /var/lib/tomcat6/webapps/ROOT/images/* root@${STATIC_SERVER}:/var/www/static.saholic.com/images/
|
102 |
scp -r /var/lib/tomcat6/webapps/ROOT/images/* root@${STATIC_SERVER}:/var/www/static.saholic.com/images/
|
| 72 |
|
- |
|
| 73 |
echo "======================================================================="
|
103 |
echo "======================================================================="
|
| 74 |
echo "Done copying css and js to static server."
|
104 |
echo "Done copying css and js to static server."
|
| 75 |
fi
|
105 |
fi
|
| 76 |
|
106 |
|
| - |
|
107 |
ln -s /var/lib/tomcat6/webapps/export/media/website/ /var/lib/tomcat6/webapps/ROOT/images/website
|
| - |
|
108 |
ln -s /var/lib/tomcat6/webapps/export/helpdocs-${LATEST_TIMESTAMP} /var/lib/tomcat6/webapps/ROOT/helpdocs
|
| - |
|
109 |
cp -r /var/lib/tomcat6/webapps/export/javascripts/* /var/lib/tomcat6/webapps/ROOT/js/
|
| - |
|
110 |
|
| - |
|
111 |
if [ $ACTION = "DEPLOY" ]
|
| - |
|
112 |
then
|
| - |
|
113 |
cat /catalog-dumps/current.build > /catalog-dumps/previous.build
|
| - |
|
114 |
echo ${LATEST_BUILD} > /catalog-dumps/current.build
|
| - |
|
115 |
else
|
| - |
|
116 |
echo ${LATEST_BUILD} > /catalog-dumps/current.build
|
| - |
|
117 |
echo "INVALID" > /catalog-dumps/previous.build
|
| - |
|
118 |
fi
|
| - |
|
119 |
|
| 77 |
#Clean up IO redirection
|
120 |
#Clean up IO redirection
|
| 78 |
exec 2>&7 7>&- # Restore stdout and close file descriptor #7.
|
121 |
exec 2>&7 7>&- # Restore stdout and close file descriptor #7.
|