add deploy.sh: one-command push to production kiosk
This commit is contained in:
@@ -0,0 +1,35 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# Deploy latest kiosk code to the production kiosk
|
||||||
|
# Usage: ./deploy.sh ["commit message"]
|
||||||
|
set -e
|
||||||
|
|
||||||
|
KIOSK_LOCAL="jgitta@192.168.88.44"
|
||||||
|
KIOSK_REMOTE="jgitta@100.64.0.1"
|
||||||
|
REPO_DIR="$(cd "$(dirname "$0")" && pwd)"
|
||||||
|
COMMIT_MSG="${1:-deploy: update from kiosk-dev $(date +%Y-%m-%d)}"
|
||||||
|
|
||||||
|
echo "==> Committing and pushing to Gitea..."
|
||||||
|
git -C "$REPO_DIR" add -A
|
||||||
|
git -C "$REPO_DIR" commit -m "$COMMIT_MSG" 2>/dev/null || echo " (nothing new to commit)"
|
||||||
|
git -C "$REPO_DIR" push origin master || echo " (nothing new to push)"
|
||||||
|
|
||||||
|
echo "==> Deploying to production kiosk..."
|
||||||
|
KIOSK=""
|
||||||
|
if ssh -o ConnectTimeout=5 -o BatchMode=yes $KIOSK_LOCAL "echo ok" &>/dev/null; then
|
||||||
|
KIOSK="$KIOSK_LOCAL"
|
||||||
|
echo " Reaching kiosk via local network"
|
||||||
|
elif ssh -o ConnectTimeout=8 -o BatchMode=yes $KIOSK_REMOTE "echo ok" &>/dev/null; then
|
||||||
|
KIOSK="$KIOSK_REMOTE"
|
||||||
|
echo " Reaching kiosk via Tailscale"
|
||||||
|
else
|
||||||
|
echo "ERROR: Cannot reach kiosk on local or Tailscale"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
ssh "$KIOSK" "
|
||||||
|
cd /home/jgitta/kiosk-browser
|
||||||
|
git pull
|
||||||
|
/usr/local/bin/kiosk-restart
|
||||||
|
"
|
||||||
|
|
||||||
|
echo "==> Deploy complete!"
|
||||||
Reference in New Issue
Block a user