Enhance deployment script: Implement conditional service restart logic for improved handling of non-root user deployments. Update CI workflow to ensure proper execution of deploy.sh after backup process.
Some checks failed
Deploy miriamgemeinde / deploy (push) Failing after 2s
Some checks failed
Deploy miriamgemeinde / deploy (push) Failing after 2s
This commit is contained in:
@@ -52,4 +52,4 @@ jobs:
|
|||||||
-o ConnectTimeout=10 \
|
-o ConnectTimeout=10 \
|
||||||
-p "$SSH_PORT" \
|
-p "$SSH_PORT" \
|
||||||
"$SSH_USER@$SSH_HOST" \
|
"$SSH_USER@$SSH_HOST" \
|
||||||
"bash -lc 'set -euo pipefail; TS=\$(date +\"%Y-%m-%d_%H%M%S\"); SRC=\"/var/www/miriamgemeinde/public/images\"; DEST_BASE=\"/home/torsten/miriamgemeinde/backup/\$TS\"; mkdir -p \"\$DEST_BASE\"; if [ -d \"\$SRC\" ]; then cp -a \"\$SRC\" \"\$DEST_BASE/\"; echo \"Backed up \$SRC -> \$DEST_BASE/images\"; else echo \"WARN: \$SRC does not exist; skipping backup\"; fi; /home/torsten/update-miriamgemeinde.sh'"
|
"bash -lc 'set -euo pipefail; TS=\$(date +\"%Y-%m-%d_%H%M%S\"); SRC=\"/var/www/miriamgemeinde/public/images\"; DEST_BASE=\"/home/torsten/miriamgemeinde/backup/\$TS\"; mkdir -p \"\$DEST_BASE\"; if [ -d \"\$SRC\" ]; then cp -a \"\$SRC\" \"\$DEST_BASE/\"; echo \"Backed up \$SRC -> \$DEST_BASE/images\"; else echo \"WARN: \$SRC does not exist; skipping backup\"; fi; cd /home/torsten/miriamgemeinde && ./deploy.sh'"
|
||||||
|
|||||||
13
deploy.sh
13
deploy.sh
@@ -26,6 +26,17 @@ mkdir -p public || true
|
|||||||
cp -R dist/* public/ || { err "copy dist failed"; exit 1; }
|
cp -R dist/* public/ || { err "copy dist failed"; exit 1; }
|
||||||
|
|
||||||
log "Restarting service miriamgemeinde..."
|
log "Restarting service miriamgemeinde..."
|
||||||
sudo systemctl restart miriamgemeinde || { err "service restart failed"; exit 1; }
|
if [ "${EUID:-$(id -u)}" -eq 0 ]; then
|
||||||
|
systemctl restart miriamgemeinde || { err "service restart failed"; exit 1; }
|
||||||
|
else
|
||||||
|
# Non-interactive deploys (CI) must not prompt for a sudo password.
|
||||||
|
# Configure on the server (recommended):
|
||||||
|
# sudo visudo -f /etc/sudoers.d/miriamgemeinde
|
||||||
|
# torsten ALL=NOPASSWD:/bin/systemctl restart miriamgemeinde,/bin/systemctl status miriamgemeinde
|
||||||
|
sudo -n systemctl restart miriamgemeinde || {
|
||||||
|
err "service restart failed (no password prompt). Configure passwordless sudo for 'systemctl restart miriamgemeinde' or run deploy as root."
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
fi
|
||||||
|
|
||||||
log "Deployment completed successfully."
|
log "Deployment completed successfully."
|
||||||
|
|||||||
Reference in New Issue
Block a user