Compare commits

..

2 Commits

Author SHA1 Message Date
TSC competition notification bot
ac4f568feb Make ssh and cli execution possible with parameters 2024-09-09 14:50:43 +02:00
TSC competition notification bot
aa3382675c Reduce cron verbosity 2024-09-09 14:37:59 +02:00

View File

@ -1,18 +1,41 @@
#!/bin/bash -e #!/bin/bash -eE
exec 100> $HOME/homepage.lock exec 100> $HOME/homepage.lock
flock 100 flock 100
log=$(mktemp)
catch_err () {
(
echo "An error occured during building"
echo ""
cat "$log"
) >&12
}
catch_exit() {
rm -f "$log"
}
trap catch_err ERR
trap catch_exit EXIT
src=/srv/data/tsc-cloud/homepage/hugo-page src=/srv/data/tsc-cloud/homepage/hugo-page
dst=/srv/http/tsc/hugo dst=/srv/http/tsc/hugo
prod=/srv/data/tsc-cloud/homepage/production prod=/srv/data/tsc-cloud/homepage/production
cmd="$SSH_ORIGINAL_COMMAND" if [ -n "$SSH_ORIGINAL_COMMAND" ]
then
cmd="$SSH_ORIGINAL_COMMAND"
else
cmd="$@"
fi
# echo "$cmd" # echo "$cmd"
publishToStage= publishToStage=
publishToProduction=y publishToProduction=y
verboseLogs=n
branch=develop branch=develop
@ -34,6 +57,9 @@ parseCMD() {
--debug) --debug)
set -x set -x
;; ;;
--verbose|-v)
verboseLogs=y
;;
*) *)
echo "Unknown command $part" echo "Unknown command $part"
exit 1 exit 1
@ -43,6 +69,11 @@ parseCMD() {
} }
parseCMD $cmd parseCMD $cmd
if [ "$verboseLogs" = "n" ]
then
exec 11>&1 12>&2 > "$log" 2>&1
fi
doPublishToStage() { doPublishToStage() {
rsync -ah --delete --delete-delay public/ "$dst/" rsync -ah --delete --delete-delay public/ "$dst/"
} }
@ -87,13 +118,13 @@ echo "Synchronizing files to web server"
if [ -n "$publishToStage" ] if [ -n "$publishToStage" ]
then then
echo "Pushing to stage" echo "Pushing to stage"
time doPublishToStage ( time doPublishToStage )
fi fi
if [ -n "$publishToProduction" ] if [ -n "$publishToProduction" ]
then then
echo "Publishing to production server" echo "Publishing to production server"
time doPublishToProduction ( time doPublishToProduction )
fi fi
echo "Deployment done" echo "Deployment done"