From 50a3718d8270dc2fd7db9611e77440b11ede7627 Mon Sep 17 00:00:00 2001 From: "Rodrigo Rodriguez (Pragmatismo)" Date: Fri, 3 Apr 2026 21:40:52 -0300 Subject: [PATCH] docs: update AGENTS.md with CI/CD systemctl deploy workflow --- AGENTS.md | 27 +++++++++++++-------------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index 4dc515a..2ea64ba 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -928,25 +928,24 @@ Continue on gb/ workspace. Follow AGENTS.md strictly: "sudo incus exec system -- stat -c '%y' /opt/gbo/bin/botserver" ``` -3. **Restart in prod** — after binary updates: +3. **Restart in prod** — CI/CD handles this automatically: ```bash - ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 \ - "sudo incus exec system -- pkill -f botserver || true" - sleep 2 - ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 \ - "sudo incus exec system -- bash -c 'cd /opt/gbo/bin && RUST_LOG=info nohup ./botserver --noconsole > /opt/gbo/logs/stdout.log 2>&1 &'" + # CI deploy workflow: + # Step 1: Check binary + # Step 2: Backup old binary (cp /opt/gbo/bin/botserver /tmp/botserver.bak) + # Step 3: Stop service (systemctl stop botserver) + # Step 4: Transfer new binary (tar+gzip via SSH) + # Step 5: Start service (systemctl start botserver) ``` 4. **Verify deployment**: ```bash - # Wait for bootstrap (~2 min) - sleep 120 - # Check health - ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 \ - "sudo incus exec system -- curl -s -o /dev/null -w '%{http_code}' http://localhost:8080/health" - # Check logs - ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 \ - "sudo incus exec system -- tail -30 /opt/gbo/logs/stdout.log" + # Check service status + ssh "sudo incus exec system -- systemctl status botserver" + # Monitor logs + ssh "sudo incus exec system -- journalctl -u botserver -f" + # Or check stdout log + ssh "sudo incus exec system -- tail -30 /opt/gbo/logs/stdout.log" ``` ### Production Container Architecture