Subversion Repositories SmartDukaan

Rev

Rev 5042 | Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
4958 rajveer 1
#!/bin/bash
2
 
3
FROMEMAIL="build@shop2020.in"
4
FROMPASSWORD="cafe@nes"
5
TOEMAIL="mandeep.dhir@shop2020.in,rajveer.singh@shop2020.in"
6
MESSAGE=""
7
FILE="/var/log/build-staging.log"
8
SHOP2020_SERVER="shop2020"
9
DATE=`date +%Y-%b-%d-%Hh%Mm%Ss`
10
 
11
build()
12
{
13
  /opt/apache-maven-3.0.3/bin/mvn clean install -P minify -Ddomain.name=shop2020.in -Denv=staging >>$FILE 2>&1;
14
  OUT=$?
15
  if [ $OUT -eq 0 ];then
16
     buildpythonpackages
17
  else
18
     MESSAGE="Maven build failed"
19
     sendmail
20
  fi
21
}
22
 
23
buildpythonpackages()
24
{
25
  cd /root/code/trunk/PyProj/src;
26
  python setup.py bdist_egg;
27
  OUT=$?
28
  if [ $OUT -eq 0 ];then
29
    copycontent
30
  else
31
    MESSAGE="Python egg packing failed"
32
    sendmail
33
  fi
34
}
35
 
36
deployWar()
37
{
38
  ssh ${SHOP2020_SERVER} "/root/code/trunk/runutils/deploy-everything.sh DEPLOY"
39
  OUT=$?
40
  if [ $OUT -eq 0 ];then
41
     MESSAGE="War deployed properly"
42
  else
43
     MESSAGE="Copying content failed"
44
  fi
45
  sendmail
46
}
47
copycontent()
48
{
49
  ssh ${SHOP2020_SERVER} "mkdir /catalog-dumps/\"${DATE}\""
50
  scp ${MAVEN_REPO}/in/shop2020/Website/1.0-SNAPSHOT/Website-1.0-SNAPSHOT.war ${SHOP2020_SERVER}:/catalog-dumps/${DATE}/Website-1.0-SNAPSHOT.war
51
  scp /root/code/trunk/PyProj/src/dist/PyProj-0.1-py2.6.egg ${SHOP2020_SERVER}:/catalog-dumps/${DATE}/PyProj-0.1-py2.6.egg
52
  ssh ${SHOP2020_SERVER} "echo \"${DATE}\">/catalog-dumps/latest.build"
53
  OUT=$?
54
  if [ $OUT -eq 0 ];then
55
     deployWar
56
  else
57
     MESSAGE="Copying content failed"
58
  fi
59
}
60
 
61
sendmail()
62
{
63
  if [ $OUT -eq 0 ];then
64
    SUBJECT="Build and deployment is successful"
65
  else
66
    SUBJECT="Build failed or deployment failed."
67
  fi
68
 
69
  sendEmail -f "$FROMEMAIL" -s smtp.gmail.com:587 -xu "$FROMEMAIL" -xp "$FROMPASSWORD" -t $TOEMAIL -o tls=yes -u "$SUBJECT" -m "$MESSAGE" -a $FILE
70
}
71
 
72
cd /root/code/trunk;
73
svn up;
74
OUT=$?
75
if [ $OUT -eq 0 ];then
76
  build
77
else
78
  MESSAGE="Svn update failed"
79
  sendmail
80
fi
81