mirror of
https://github.com/lrnselfreliance/wrolpi.git
synced 2026-10-26 02:48:38 -04:00
58 lines
1.2 KiB
Bash
Executable file
58 lines
1.2 KiB
Bash
Executable file
#! /usr/bin/env bash
|
|
# This script will upgrade the WROLPi API and App. It is required that you install WROLPi first.
|
|
|
|
Help() {
|
|
# Display Help
|
|
echo "Upgrade WROLPi API and App on this machine."
|
|
echo
|
|
echo "Syntax: upgrade.sh [-h] [-b BRANCH]"
|
|
echo "options:"
|
|
echo "h Print this help."
|
|
echo "b Upgrade from this git BRANCH."
|
|
echo
|
|
}
|
|
|
|
BRANCH="release"
|
|
while getopts ":hb:" option; do
|
|
case $option in
|
|
h) # display Help
|
|
Help
|
|
exit
|
|
;;
|
|
b)
|
|
BRANCH="${OPTARG}"
|
|
;;
|
|
*) # invalid argument(s)
|
|
echo "Error: Invalid option"
|
|
exit 1
|
|
;;
|
|
esac
|
|
done
|
|
|
|
if [ ! -d /opt/wrolpi ] || [ ! -d /opt/wrolpi/wrolpi ]; then
|
|
echo "You must install WROLPi first. Try: /opt/wrolpi/install.sh"
|
|
exit 2
|
|
fi
|
|
|
|
# Re-execute this script if it wasn't called with sudo.
|
|
if [ $EUID != 0 ]; then
|
|
sudo "$0" "$@"
|
|
exit $?
|
|
fi
|
|
|
|
set -x
|
|
set -e
|
|
|
|
systemctl stop wrolpi-api
|
|
systemctl stop wrolpi-app
|
|
|
|
# Pull the latest commit of the requested branch.
|
|
(cd /opt/wrolpi && git fetch && git checkout "${BRANCH}" && git reset --hard origin/"${BRANCH}") || exit 4
|
|
|
|
/opt/wrolpi/scripts/upgrade.sh 2>&1 | tee /opt/wrolpi/upgrade.log
|
|
|
|
set +x
|
|
|
|
echo "Upgrade end $(date '+%Y-%m-%d %H:%M:%S')" >>/opt/wrolpi/upgrade.log
|
|
|
|
echo "WROLPi upgrade has completed"
|