[rt18107] added better filtering of production servers
authorLiam Whalen <liam.whalen@bc.libraries.coop>
Fri, 13 Dec 2013 23:48:21 +0000 (15:48 -0800)
committerLiam Whalen <liam.whalen@bc.libraries.coop>
Fri, 13 Dec 2013 23:49:54 +0000 (15:49 -0800)
These changes make sure using a server like
app1-1.catalogue.libraries.coop will not deploy currently while testing.
To do this, the script looks at the hostname and compares it to a list
of production servers defined at the start of the script.  If the
hostname is within the list of production servers then it aborts sending
the file.

deployment/git-deploy.sh

index a389ba6..ef96175 100755 (executable)
@@ -103,7 +103,7 @@ function deployfile() {
     git --git-dir $REPO show $REMOTE/$BRANCH:$RELATIVE_PATH/$FILENAME > $TEMPFILE
     for HOST in $HOSTS
     do
-        if [[ $PROD_SERVERS =~ " $HOST " ]]
+        if [[ $PROD_SERVERS =~ " `echo $HOST | cut -d '.' -f 1` " ]]
         then
             echo "Cannot deploy `basename $TEMPFILE` to $HOST while testing.  Please use another server"
         else 
@@ -156,7 +156,6 @@ fi
 if [[ ! -z $SYNC ]]
 then
     read -p "Are you SURE you want to sync $HOST_LIST with $BRANCH (Yes/No): " ANSWER
-    echo $ANSWER
     if [[ ! "$ANSWER" =~ [Yy]es ]]
     then
         echo "Aborting sync"
@@ -171,8 +170,7 @@ then
     LIST_BRANCH_FILES=`git --git-dir $REPO show $REMOTE/$BRANCH --name-only --oneline | awk '{if(NR!=1) {print}}'`
 else
     BRANCH_NAME=`basename $BRANCH`
-    cd $REPO
-    LIST_BRANCH_FILES=`git ls-tree -r  --full-name $BRANCH_NAME | tr '\t' ' ' | cut -d ' ' -f 4`
+    LIST_BRANCH_FILES=`cd $REPO && git ls-tree -r  --full-name $BRANCH_NAME | tr '\t' ' ' | cut -d ' ' -f 4`
 fi
 
 for PATH_AND_FILENAME in $LIST_BRANCH_FILES