Compare commits
14 Commits
2c3b5056ae
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 8a8845d898 | |||
| 65be246673 | |||
| eabf56ed93 | |||
| d55b13ecbf | |||
| cc8a7710a1 | |||
| ad83090b05 | |||
| 684c237ac1 | |||
| 23c0090a47 | |||
| e57ec6de50 | |||
| c790dd6736 | |||
| 6e3666cea2 | |||
| 7379df38de | |||
| 2a915fec69 | |||
| fa0e9907ee |
@@ -25,7 +25,7 @@ cd www
|
||||
|
||||
Then in a web browser, navigate to `localhost:8080`.
|
||||
|
||||
## TODO
|
||||
## TODO Items
|
||||
|
||||
All goals are currently completed.
|
||||
|
||||
|
||||
64
cronjob.sh
64
cronjob.sh
@@ -4,29 +4,63 @@
|
||||
# project so that docker container can do periodic git pulls rather than having
|
||||
# to reload /rebuild the container each time a release is pushed out.
|
||||
|
||||
## Setup ##
|
||||
|
||||
DIR="$(dirname -- "${BASH_SOURCE[0]}")"
|
||||
PROG="$(basename -- "${BASH_SOURCE[0]}")"
|
||||
cd $DIR
|
||||
DIR="`pwd`"
|
||||
NAME="'$PROG'"
|
||||
|
||||
function reload-project {
|
||||
## Kill node.js which will complete run.sh and restart any Docker containers.
|
||||
#pkill node
|
||||
# Do not kill program, just use the new files and if run.sh or main.js were
|
||||
# changed then they can get reloaded manually or by the nightly backup.
|
||||
echo "Project reloaded successfully!"
|
||||
function log {
|
||||
echo -e "`date` : $NAME - $1"
|
||||
}
|
||||
|
||||
echo "*** Running '$DIR/$PROG' @ `date` ***"
|
||||
cd $DIR
|
||||
function kill-project {
|
||||
# Kill node.js which will complete run.sh and restart any Docker containers.
|
||||
# This is more intended towards Development and Stage sites since Production
|
||||
# will only see git changes when a pull request is manually completed.
|
||||
log "Stopping continuous processes!"
|
||||
pkill node
|
||||
}
|
||||
|
||||
function reload-project {
|
||||
# Nothing to do, run.sh and main.js automatically uses the latest files.
|
||||
log "Project reloaded successfully!"
|
||||
}
|
||||
|
||||
## Main ##
|
||||
|
||||
# Pull any updates, and if the project is already up to date, exit successfully.
|
||||
git pull | grep -v "up to date"
|
||||
status="$?"
|
||||
echo "* Pull status is '$status'."
|
||||
if [[ $status != 0 ]]; then
|
||||
echo "* Site is already up to date, exiting."
|
||||
exit 0
|
||||
else
|
||||
output="`git pull`"
|
||||
git_status="$?"
|
||||
|
||||
echo "$output" | grep -v "up to date"
|
||||
grep_status="$?"
|
||||
|
||||
log "Pull status is '$git_status', checking for changes is '$grep_status'."
|
||||
|
||||
# Check whether the continuously running jobs have been updated.
|
||||
echo "$output" | grep "main.js"
|
||||
main_changed="$?"
|
||||
echo "$output" | grep "run.sh"
|
||||
run_changed="$?"
|
||||
|
||||
# Determine where we've landed and whether we need to do anything.
|
||||
if [[ $git_status != 0 ]]; then
|
||||
log "*** ERROR: Git reported a failure! ***"
|
||||
exit 1
|
||||
elif [[ $git_status == 0 && ($main_changed == 0 || $run_changed == 0) ]]; then
|
||||
log "Either main ('$main_changed'), or run ('$run_changed') were changed!"
|
||||
kill-project
|
||||
elif [[ $git_status == 0 && $grep_status == 0 ]]; then
|
||||
reload-project
|
||||
elif [[ $git_status == 0 && $grep_status != 0 ]]; then
|
||||
log "Nothing to do. '$output'"
|
||||
else
|
||||
log "*** WARNING: Unknown Situation ***"
|
||||
fi
|
||||
|
||||
## Success! ##
|
||||
|
||||
exit 0
|
||||
|
||||
@@ -6,11 +6,6 @@
|
||||
}
|
||||
$show_pics = $GLOBALS["SHOW_BANNER_PICS"];
|
||||
$banner_width = $show_pics ? 6 : 12;
|
||||
|
||||
// TBD / TODO:
|
||||
// Check if user has vertical screen?
|
||||
// Is that possible in this environment?
|
||||
//$image_width = $vertical_screen ? 6 : 3;
|
||||
?>
|
||||
<a href='/about/'>
|
||||
<div class="row">
|
||||
|
||||
28
run.sh
28
run.sh
@@ -6,7 +6,12 @@
|
||||
|
||||
DIR="$(dirname -- "${BASH_SOURCE[0]}")"
|
||||
PROG="$(basename -- "${BASH_SOURCE[0]}")"
|
||||
echo "$DIR/$PROG"
|
||||
|
||||
# Ensure we are executing from this file's directory.
|
||||
cd $DIR
|
||||
DIR="`pwd`"
|
||||
NAME="'$DIR/$PROG'"
|
||||
echo $NAME
|
||||
|
||||
## Functions ##
|
||||
|
||||
@@ -27,13 +32,15 @@ function log {
|
||||
echo -e "`date` - $message"
|
||||
}
|
||||
|
||||
log "Local process information:"
|
||||
ps $$
|
||||
function check_main {
|
||||
if [[ -z "$1" ]]; then
|
||||
echo "ERROR: Subprocess name was not provided. $1"
|
||||
exit 0
|
||||
fi
|
||||
log "Subprocess '$1' checking if main process is still running..."
|
||||
ps $$
|
||||
ps $$ >/dev/null
|
||||
status=$?
|
||||
if [[ $status != 0 ]]; then
|
||||
log "Process '$$' not found, '$1' from '$DIR/$PROG' exiting."
|
||||
@@ -62,9 +69,6 @@ fi
|
||||
|
||||
## Build Environment ##
|
||||
|
||||
# Ensure we are executing from this file's directory.
|
||||
cd $DIR
|
||||
|
||||
sudo=""
|
||||
if [[ -z $LOGNAME ]]; then
|
||||
LOGNAME="`whoami`"
|
||||
@@ -75,25 +79,29 @@ if [[ $LOGNAME != "root" ]]; then
|
||||
fi
|
||||
|
||||
log "Check if any system dependencies need installed."
|
||||
progs=""
|
||||
if [[ ! `which php` ]]; then
|
||||
echo "- Installing PHP"
|
||||
$sudo apt-get install -y php-cli
|
||||
progs="$progs php-cli"
|
||||
fi
|
||||
if [[ ! `which node` ]]; then
|
||||
echo "- Installing Node"
|
||||
$sudo apt-get install -y nodejs
|
||||
progs="$progs nodejs"
|
||||
fi
|
||||
if [[ ! `which npm` ]]; then
|
||||
echo "- Installing NPM"
|
||||
$sudo apt-get install -y npm
|
||||
progs="$progs npm"
|
||||
fi
|
||||
if [[ ! `which curl` ]]; then
|
||||
echo "- Installing Curl"
|
||||
$sudo apt-get install -y curl
|
||||
progs="$progs curl"
|
||||
fi
|
||||
if [[ ! `which ps` ]]; then
|
||||
echo "- Installing PS"
|
||||
$sudo apt-get install -y procps
|
||||
progs="$progs procps"
|
||||
fi
|
||||
if [[ -n "$progs" ]]; then
|
||||
$sudo apt-get install -y $progs
|
||||
fi
|
||||
|
||||
# Directories and allowed page types are executable, others are not.
|
||||
|
||||
Reference in New Issue
Block a user