Subversion Repositories SmartDukaan

Rev

Rev 5103 | Rev 7230 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

#!/bin/bash

FROMEMAIL="build@shop2020.in"
FROMPASSWORD="cafe@nes"
TOEMAIL="mandeep.dhir@shop2020.in,rajveer.singh@shop2020.in,pankaj.kankar@shop2020.in,anupam.singh@shop2020.in"
MESSAGE=""
FILE="/var/log/build-staging.log"
SHOP2020_SERVER="shop2020.in"
DATE=`date +%Y-%b-%d-%Hh%Mm%Ss`
MAVEN_REPO="${HOME}/.m2/repository"

build()
{
  /opt/apache-maven-3.0.3/bin/mvn clean install -P minify -Ddomain.name=shop2020.in -Denv=staging >>$FILE 2>&1;
  OUT=$?
  if [ $OUT -eq 0 ];then
     buildpythonpackages
  else
     MESSAGE="Maven build failed"
     sendmail
  fi
}

buildpythonpackages()
{
  cd /root/code/trunk/PyProj/src;
  python setup.py bdist_egg;
  OUT=$?
  if [ $OUT -eq 0 ];then
    copycontent
  else
    MESSAGE="Python egg packing failed"
    sendmail
  fi
}

deployWar()
{
  ssh ${SHOP2020_SERVER} "/root/code/trunk/runutils/deploy-everything.sh DEPLOY"
  OUT=$?
  if [ $OUT -eq 0 ];then
     MESSAGE="War deployed properly"
  else
     MESSAGE="Copying content failed"
  fi
  sendmail
}
copycontent()
{
  ssh ${SHOP2020_SERVER} "mkdir /catalog-dumps/\"${DATE}\""
  scp ${MAVEN_REPO}/in/shop2020/Website/1.0-SNAPSHOT/Website-1.0-SNAPSHOT.war ${SHOP2020_SERVER}:/catalog-dumps/${DATE}/Website-1.0-SNAPSHOT.war
  scp /root/code/trunk/PyProj/src/dist/PyProj-0.1-py2.6.egg ${SHOP2020_SERVER}:/catalog-dumps/${DATE}/PyProj-0.1-py2.6.egg
  ssh ${SHOP2020_SERVER} "echo \"${DATE}\">/catalog-dumps/latest.build"
  OUT=$?
  if [ $OUT -eq 0 ];then
     deployWar
  else
     MESSAGE="Copying content failed"
  fi
}

sendmail()
{
  if [ $OUT -eq 0 ];then
    SUBJECT="Build and deployment is successful on shop2020"
  else
    SUBJECT="Build failed or deployment failed."
  fi

  sendEmail -f "$FROMEMAIL" -s smtp.gmail.com:587 -xu "$FROMEMAIL" -xp "$FROMPASSWORD" -t $TOEMAIL -o tls=yes -u "$SUBJECT" -m "$MESSAGE" -a $FILE
}

cd /root/code/trunk;
svn up;
OUT=$?
if [ $OUT -eq 0 ];then
  build
else
  MESSAGE="Svn update failed"
  sendmail
fi