``#!/bin/sh # # # # Created by deployuser on 7/10/14. # # Uncomment to run in debug mode #set -x # Configuration Section SLEEP="$SLEEP" F5_USER="$F5_USER" F5_PASSWORD="$F5_PASSWORD" TERMINATE="$TERMINATE_CONN_SLEEP" HEALTH_CHECK_PORT=8080 rm -f deploy_host rm -f disable_host rm -f failed_version HOSTNAME=`cat $SELECT_ENV | awk -F, '{print $1}'` echo "$HOSTNAME" > deploy_host for i in `cat $SELECT_ENV` do IP=`echo "$i" | awk -F, '{NF--;$1=$1;sub(".*"$2,$1,$0)}1'` F5_INFO=`echo "$i" | awk -F, ' { print ( $(NF) ) }'` for i in $IP do echo "********************************************************************************************************************" ./f5nodectl.pl $F5_INFO 443 "$F5_USER" "$F5_PASSWORD" "$i" disable echo "********************************************************************************************************************" done done echo "Waiting 10 secs for connections to drop" sleep 10 echo "********************************************************************************************************************" echo "********************************************************************************************************************" echo "....................................................Stopping JBOSS.................................................." python deployer.py -f deploy_host -a userpass_$ENV "sudo /sbin/service jbossas stop" echo "********************************************************************************************************************" echo "********************************************************************************************************************" echo "....................................................Removing previous war..........................................." python deployer.py -f deploy_host -a userpass_$ENV "rm -f /opt/app/jboss/versions/jboss-eap-6.1/standalone/deployments/Coupons*" python deployer.py -f deploy_host -a userpass_$ENV "rm -rf /opt/app/jboss/home/standalone/tmp/*" echo "********************************************************************************************************************" echo "********************************************************************************************************************" echo "....................................................Uploading war..............................................." python deployer.py -f deploy_host -a userpass_$ENV -s -c Coupons-$RELEASE_VERSION.war -D /opt/app/jboss/versions/jboss-eap-6.1/standalone/deployments echo "********************************************************************************************************************" echo "********************************************************************************************************************" echo "....................................................Starting JBOSS ................................................." python deployer.py -f deploy_host -a userpass_$ENV "sudo /sbin/service jbossas start > /dev/null 2>&1" echo "********************************************************************************************************************" echo "********************************************************************************************************************" echo "********************************************************************************************************************" echo "....................................................Waiting for APP to LOAD................................." sleep "$SLEEP" for hosts in "$HOSTNAME"; do DEPLOY_VERSION=`curl http://"$hosts":"$HEALTH_CHECK_PORT"/cpn/version.txt | egrep [0-9]+.[0-9]+.[0-9]+` echo "********************************************************************************************************************" echo "....................................................Verifying Store01 on $hosts................................." if [ "$DEPLOY_VERSION" = "$RELEASE_VERSION" ];then echo "Version Check Successfull for "$hosts"" else echo "Version Check Failed for "$hosts"" echo ""$hosts"">> failed_version fi done echo "********************************************************************************************************************" echo "$SELECT_ENV" > "$SELECT_ENV"_clean cp "$SELECT_ENV" "$SELECT_ENV"_clean if [ -f failed_version ]; then HOST_FAILED=`cat failed_version` for host_fail in $HOST_FAILED do grep -v "$host_fail" "$SELECT_ENV"_clean > "$SELECT_ENV"_clean2; mv "$SELECT_ENV"_clean2 "$SELECT_ENV"_clean done fi if [ -f disable_host ]; then HOST_DISABLED=`cat disable_host` echo "********************************************************************************************************************" echo "............................................The following IP's were OOS when the deployment started................." echo "$HOST_DISABLED" echo "............................................So leaving them OOS....................................................." echo "********************************************************************************************************************" for disable_host in "$HOST_DISABLED" do grep -v "$disable_host" "$SELECT_ENV"_clean > "$SELECT_ENV"_clean2; mv "$SELECT_ENV"_clean2 "$SELECT_ENV"_clean done fi echo "********************************************************************************************************************" echo "............................................Putting servers back in service........................................." echo "********************************************************************************************************************" for i in `cat "$SELECT_ENV"_clean` do IP=`echo "$i" | awk -F, '{NF--;$1=$1;sub(".*"$2,$1,$0)}1'` F5_INFO=`echo "$i" | awk -F, ' { print ( $(NF) ) }'` for i in $IP do echo "********************************************************************************************************************" ./f5nodectl.pl $F5_INFO 443 "$F5_USER" "$F5_PASSWORD" "$i" enable echo "********************************************************************************************************************" done done if [ -f failed_version ];then FAILED=`cat failed_version | sort -u` if [ -n "$FAILED" ];then echo "********************************************************************************************************************" echo "............................................Deployment failed on...................................................." echo "$FAILED" echo "********************************************************************************************************************" exit 1 fi fi rm -f "$SELECT_ENV" rm -f "$SELECT_ENV"_clean exit 0 ```