fix(ci): separate deploy steps - backup, kill, transfer, start
All checks were successful
BotServer CI/CD / build (push) Successful in 46s

This commit is contained in:
Rodrigo Rodriguez (Pragmatismo) 2026-04-03 20:35:38 -03:00
parent bf704c0f6e
commit 72bc18b7de

View file

@ -83,17 +83,21 @@ jobs:
echo "=== Deploy started ===" echo "=== Deploy started ==="
echo "Step 1: Checking binary..." echo "Step 1: Checking binary..."
ls -lh /opt/gbo/data/botserver/target/debug/botserver ls -lh /opt/gbo/data/botserver/target/debug/botserver
echo "Step 2: Transferring binary..." echo "Step 2: Backing up old binary..."
timeout 60 tar cf - -C /opt/gbo/data/botserver/target/debug botserver | gzip -1 | timeout 60 ssh $SSH_ARGS system "gzip -d | tar xf - -C /opt/gbo/bin && chmod +x /opt/gbo/bin/botserver && chown gbuser:gbuser /opt/gbo/bin/botserver && echo 'Transfer complete'" ssh $SSH_ARGS system "cp /opt/gbo/bin/botserver /tmp/botserver.bak 2>/dev/null || echo 'No previous binary to backup'"
echo "Step 3: Restarting botserver..." echo "Step 3: Killing old botserver..."
timeout 30 ssh $SSH_ARGS system "systemctl restart botserver 2>/dev/null; sleep 2; cd /opt/gbo/bin && nohup ./botserver --noconsole > /opt/gbo/logs/stdout.log 2>&1 & disown; echo 'Botserver started'" || echo "Restart command timed out, trying anyway..." ssh $SSH_ARGS system "killall botserver 2>/dev/null || true"
echo "Step 4: Transferring new binary..."
tar cf - -C /opt/gbo/data/botserver/target/debug botserver | gzip -1 | ssh $SSH_ARGS system "gzip -d | tar xf - -C /opt/gbo/bin && chmod +x /opt/gbo/bin/botserver && chown gbuser:gbuser /opt/gbo/bin/botserver && echo 'Transfer complete'"
echo "Step 5: Starting botserver..."
ssh $SSH_ARGS system "cd /opt/gbo/bin && nohup ./botserver --noconsole > /opt/gbo/logs/stdout.log 2>&1 & disown && echo 'Botserver started'"
echo "=== Deploy completed ===" echo "=== Deploy completed ==="
- name: Verify botserver started - name: Verify botserver started
run: | run: |
sleep 30 sleep 30
SSH_ARGS="-i /home/gbuser/.ssh/id_ed25519 -o StrictHostKeyChecking=no -o ConnectTimeout=5 -o ServerAliveInterval=5 -o ServerAliveCountMax=2 -o BatchMode=yes" SSH_ARGS="-i /home/gbuser/.ssh/id_ed25519 -o StrictHostKeyChecking=no -o ConnectTimeout=5 -o ServerAliveInterval=5 -o ServerAliveCountMax=2 -o BatchMode=yes"
timeout 20 ssh $SSH_ARGS system "pgrep -f botserver >/dev/null && echo 'OK: botserver is running' || echo 'WARNING: botserver may still be starting'" || echo "Could not verify, check manually" ssh $SSH_ARGS system "pgrep -f botserver >/dev/null && echo 'OK: botserver is running' || echo 'WARNING: botserver may still be starting'" || echo "Could not verify, check manually"
- name: Save deploy log - name: Save deploy log
if: always() if: always()