grub-fork/scripts/server_watch.sh

19 lines
743 B
Bash
Executable file

#!/bin/sh
# Helper script for simple deployments.
#
# Runs the latest JAR file from the given directory.
# When a new file is added to the directory, the process
# is killed and the most recent file is run.
# If the script is killed the running processes will also
# be killed.
trap "trap - TERM && echo 'Caught SIGTERM, sending SIGTERM to process group' && kill -- -$$" INT TERM EXIT
while true; do
LATEST_BUILD=`ls -r $GRUB_RELEASE_DIR | head -1 | tr -d '\n'`
echo "Starting server package $LATEST_BUILD"
java -jar $GRUB_RELEASE_DIR/$LATEST_BUILD prod &
PID=$!
echo "Watching server directory for new files, restarting server on change"
inotifywait -e close_write -r $GRUB_RELEASE_DIR
echo "Restarting server"
kill $PID
done