simple script for deploying EG master from git (dev servers) user/berick/eg-update-from-git
authorBill Erickson <berickxx@gmail.com>
Thu, 29 Sep 2016 16:21:32 +0000 (12:21 -0400)
committerBill Erickson <berickxx@gmail.com>
Thu, 29 Sep 2016 16:21:32 +0000 (12:21 -0400)
Signed-off-by: Bill Erickson <berickxx@gmail.com>
update.sh [new file with mode: 0755]

diff --git a/update.sh b/update.sh
new file mode 100755 (executable)
index 0000000..38552fe
--- /dev/null
+++ b/update.sh
@@ -0,0 +1,99 @@
+#!/bin/bash                                                      
+# Author Bill Erickson <berickxx@gmail.com>
+# -------------------------------------------------------------------------
+# * Run as opensrf
+# * opensrf needs sudo                                                     
+# -------------------------------------------------------------------------
+
+B=/home/opensrf
+OSRF="$B/OpenSRF";
+ILS="$B/Evergreen";
+XUL_DIR=/openils/var/web/xul
+
+# options
+BUILD_OSRF=''
+CLEAN_BUILD=''
+ENABLE_PYTHON="--disable-python"
+
+while getopts "cop" opt; do
+    case $opt in
+        c) CLEAN_BUILD=1;;
+        o) BUILD_OSRF=1;;
+        p) ENABLE_PYTHON="--enable-python";;
+    esac
+done;
+
+echo ""
+echo "CLEAN_BUILD   => $CLEAN_BUILD";
+echo "BUILD_OSRF    => $BUILD_OSRF";
+echo "ENABLE_PYTHON => $ENABLE_PYTHON";
+echo ""
+
+
+# ---------------------------------------------------
+sudo /etc/init.d/apache2 stop;
+[ -f /etc/init.d/apache2-websockets ] && sudo apache2ctl-websockets stop;
+cd; osrf_control --localhost --fast-shutdown-all
+
+# ---------------------------------------------------
+if [ -n "$BUILD_OSRF" ]; then
+    
+    cd $OSRF;
+    git pull;
+
+    if [ -n "$CLEAN_BUILD" ]; then
+        autoreconf -i && \
+        ./configure --prefix=/openils --sysconfdir=/openils/conf "$ENABLE_PYTHON" && \
+        make clean
+    fi;
+    make && sudo make install;
+fi;
+
+# ---------------------------------------------------
+cd $ILS
+git pull;
+
+if [ -n "$CLEAN_BUILD" ]; then
+    autoreconf -i && \
+    ./configure --prefix=/openils --sysconfdir=/openils/conf "$ENABLE_PYTHON" && \
+    make clean
+fi;
+
+BID=$(date +"%FT%T");
+make && sudo make install \
+    STAFF_CLIENT_BUILD_ID=$BID STAFF_CLIENT_VERISON=$BID STAFF_CLIENT_STAMP_ID=$BID;
+
+# ---------------------------------------------------
+
+sudo chown -R opensrf:opensrf /openils
+
+rm -f $XUL_DIR/server;
+rm -f $XUL_DIR/current;
+rm -f $XUL_DIR/current-client-build.zip;
+cp -r "$ILS/Open-ILS/xul/staff_client/build" $XUL_DIR/
+cd $XUL_DIR;
+zip -rq $BID.zip build;
+ln -s $BID.zip current-client-build.zip;
+mv build $BID;
+ln -s $BID current;
+ln -s current/server server
+
+# ---------------------------------------------------
+# update the DB first to catch errors
+echo "---------------------------------------------------"
+cd $ILS;
+bash build/tools/update_db.sh localhost evergreen evergreen
+echo "---------------------------------------------------"
+echo ""
+
+sudo chown -R opensrf:opensrf $OSRF $ILS
+cd; osrf_control --localhost --start-all
+echo "Wait for it..."
+sleep 8;
+cd /openils/bin; ./autogen.sh ../conf/opensrf_core.xml;
+sudo /etc/init.d/apache2 start;
+[ -f /etc/init.d/apache2-websockets ] && sudo apache2ctl-websockets start;
+
+#echo "Restarting SIP..."
+#echo ""
+#/openils/bin/oils_ctl.sh -s /openils/conf/oils_sip.xml -a restart_sip