29 lines
1.0 KiB
Bash
Executable File
29 lines
1.0 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# استقرارِ بکندِ حکمشو روی سرور: کراسکامپایل لینوکس + آپلود + ریاستارتِ systemd.
|
|
# بدونِ رمز (کلیدِ SSH). اجرا: ./deploy.sh
|
|
set -euo pipefail
|
|
|
|
HOST="${HAKEM_HOST:-ubuntu@95.38.179.159}"
|
|
KEY="${HAKEM_KEY:-$HOME/.ssh/hakem_deploy}"
|
|
REMOTE_DIR="/home/ubuntu/hakemsho"
|
|
|
|
cd "$(dirname "$0")"
|
|
|
|
echo "==> build linux/amd64 (CGO off, pure-Go sqlite)"
|
|
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags="-s -w" -o /tmp/hakemsho-linux ./cmd/server
|
|
|
|
echo "==> upload to $HOST"
|
|
scp -i "$KEY" -o StrictHostKeyChecking=no /tmp/hakemsho-linux "$HOST:$REMOTE_DIR/hakemsho.new"
|
|
|
|
echo "==> swap in + restart (zero-config; data & env untouched)"
|
|
ssh -i "$KEY" -o StrictHostKeyChecking=no "$HOST" '
|
|
set -e
|
|
mv ~/hakemsho/hakemsho.new ~/hakemsho/hakemsho
|
|
chmod +x ~/hakemsho/hakemsho
|
|
sudo systemctl restart hakemsho
|
|
sleep 2
|
|
systemctl is-active hakemsho
|
|
curl -s -m5 http://127.0.0.1:8080/health && echo
|
|
'
|
|
echo "==> done: https://hakem.approagency.ir/health"
|