31 lines · 937 bytes
1 #!/bin/bash
2 set -euo pipefail
3
4 # Deploy openhub — upload binary and restart service
5 # Usage: deploy/deploy.sh [host] [port]
6
7 HOST="${1:-213.111.152.198}"
8 PORT="${2:-2200}"
9 USER="god"
10 SSH="ssh -p ${PORT} ${USER}@${HOST}"
11 SCP="scp -P ${PORT}"
12
13 echo "Fetching latest build artifact from GitHub Actions..."
14 gh run download --name openhub-linux-x86_64 --dir /tmp/openhub-deploy
15
16 echo "Uploading binary to ${HOST}..."
17 $SCP /tmp/openhub-deploy/openhub ${USER}@${HOST}:/tmp/openhub-new
18
19 echo "Installing and restarting..."
20 $SSH 'bash -s' <<'REMOTE'
21 set -euo pipefail
22 sudo systemctl stop openhub
23 sudo install -m 755 /tmp/openhub-new /usr/local/bin/openhub
24 sudo setcap cap_net_bind_service=+ep /usr/local/bin/openhub
25 sudo systemctl start openhub
26 rm /tmp/openhub-new
27 sleep 2
28 sudo systemctl is-active --quiet openhub && echo "Deploy OK" || { echo "FAILED"; sudo journalctl -u openhub -n 10 --no-pager; exit 1; }
29 REMOTE
30
31 rm -rf /tmp/openhub-deploy