Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ``#!/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
- ```
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement