c3re-website-prod-server/starter

61 lines
749 B
Bash
Executable File

#!/usr/bin/env bash
set -e
nginx -t
nginx -g 'daemon off;' &
nginx_pid=$!
trap 'kill "$nginx_pid"' EXIT
trap 'kill "$nginx_pid"' SIGTERM
function checkIsUpToDate() {
git fetch
git rev-list HEAD...origin/master --count | grep -q "^0$" && {
return 0
}
return 1
}
function update() {
git reset --hard
git pull
make
mv /var/www/html /var/www/html-delme
mv public/ /var/www/html
rm -rf /var/www/html-delme &
git reset --hard
}
function init() {
test -z "$GIT_URL" && {
echo "GIT_URL is not set"
exit 1
}
git clone "$GIT_URL" .
}
cd /
rm -rf /repo
mkdir /repo
cd /repo
init
update
(
while true; do
sleep 15
checkIsUpToDate && continue
update
done
) &
(
while true; do
sleep 1h
update
done
) &
wait "$nginx_pid"