2024-01-18 16:21:22 +01:00
|
|
|
#!/usr/bin/env bash
|
|
|
|
set -e
|
2024-01-19 11:06:49 +01:00
|
|
|
|
2024-01-18 16:21:22 +01:00
|
|
|
nginx -t
|
|
|
|
nginx -g 'daemon off;' &
|
|
|
|
nginx_pid=$!
|
2024-01-19 11:06:49 +01:00
|
|
|
|
|
|
|
trap 'kill "$nginx_pid"' EXIT
|
|
|
|
trap 'kill "$nginx_pid"' SIGTERM
|
|
|
|
|
2024-01-18 16:21:22 +01:00
|
|
|
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
|
2024-01-26 21:09:44 +01:00
|
|
|
mv public/ /var/www/html
|
2024-01-18 16:21:22 +01:00
|
|
|
rm -rf /var/www/html-delme &
|
|
|
|
git reset --hard
|
|
|
|
}
|
2024-09-26 11:21:07 +02:00
|
|
|
function init() {
|
|
|
|
test -z "$GIT_URL" && {
|
|
|
|
echo "GIT_URL is not set"
|
|
|
|
exit 1
|
|
|
|
}
|
|
|
|
git clone "$GIT_URL" .
|
|
|
|
}
|
2024-01-18 16:21:22 +01:00
|
|
|
|
2024-10-30 18:16:14 +01:00
|
|
|
cd /
|
|
|
|
rm -rf /repo
|
|
|
|
mkdir /repo
|
2024-01-18 16:21:22 +01:00
|
|
|
cd /repo
|
2024-09-26 11:21:07 +02:00
|
|
|
|
|
|
|
init
|
2024-01-18 16:21:22 +01:00
|
|
|
update
|
|
|
|
(
|
|
|
|
while true; do
|
|
|
|
sleep 15
|
|
|
|
checkIsUpToDate && continue
|
|
|
|
update
|
|
|
|
done
|
|
|
|
|
|
|
|
) &
|
|
|
|
|
2024-01-19 11:06:49 +01:00
|
|
|
(
|
|
|
|
while true; do
|
|
|
|
sleep 1h
|
|
|
|
update
|
|
|
|
|
|
|
|
done
|
|
|
|
) &
|
|
|
|
|
2024-01-18 16:21:22 +01:00
|
|
|
wait "$nginx_pid"
|