feat(infra): CD бота на сервер Vobot через Gitea Actions #43

Merged
Eleboba merged 3 commits from ci/12-cd into dev 2026-10-17 10:49:44 +03:00
Owner

Что меняется

CD бота как в Vobot/meditron: после мержа в dev Gitea Actions деплоит бота на сервер Vobot (/srv/tgit/dev), main → prod (пропускается, пока нет prod-токена). infra/deploy/deploy.sh работает и руками для любого Docker-хоста; откат — app.old.

Closes #12

Порядок мержа: после #42 (CI).

Уже работает

Первый деплой сделан руками тем же скриптом: bot healthy @ 526eb56 (dev), бот @tgit_duemon_bot опрашивает Telegram с сервера (через прокси — напрямую RF-сервер Telegram не видит). Секреты DEPLOY_SSH_KEY/DEPLOY_HOST заведены в Gitea.

Как проверить

После мержа: Actions → «CD» → deploy → dev зелёный; ssh tgit-deploy@72.56.247.166 cat /srv/tgit/dev/REVISION = sha мержа. Подробно — docs/dev/DEPLOY.md.

🤖 Generated with Claude Code

## Что меняется CD бота как в Vobot/meditron: после мержа в `dev` Gitea Actions деплоит бота на сервер Vobot (`/srv/tgit/dev`), `main` → `prod` (пропускается, пока нет prod-токена). `infra/deploy/deploy.sh` работает и руками для любого Docker-хоста; откат — `app.old`. Closes #12 **Порядок мержа:** после #42 (CI). ## Уже работает Первый деплой сделан руками тем же скриптом: `bot healthy @ 526eb56 (dev)`, бот `@tgit_duemon_bot` опрашивает Telegram **с сервера** (через прокси — напрямую RF-сервер Telegram не видит). Секреты `DEPLOY_SSH_KEY`/`DEPLOY_HOST` заведены в Gitea. ## Как проверить После мержа: Actions → «CD» → `deploy → dev` зелёный; `ssh tgit-deploy@72.56.247.166 cat /srv/tgit/dev/REVISION` = sha мержа. Подробно — `docs/dev/DEPLOY.md`. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Eleboba added 3 commits 2026-10-16 11:41:30 +03:00
- infra/deploy/deploy.sh <dev|prod> [ref]: git archive → scp → remote.sh на сервере;
  руками и из CI, хост — DEPLOY_HOST (любой Docker-хост); каждый шаг с ретраями
- remote.sh: атомарная замена app/ (app.old для отката), compose -p tgit-<env> up --build,
  ожидание healthy, REVISION, подсказка отката при неудаче; безопасно перезапускать
- окружение без /srv/tgit/<env>/.env пропускается (prod — когда будет свой токен)
- .gitea/workflows/deploy.yml: push в dev/main → deploy; guard «актуален ли пуш», ключ через env

Refs #12

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
С сервера Vobot api.telegram.org недоступен (ни IPv4, ни IPv6) — как и meditron, ходим
через прокси; aiohttp-socks для http/socks. Бот в простое ~190 МБ — 256m мало.

Refs #12

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Refs #12

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Eleboba merged commit 29f9cbe538 into dev 2026-10-17 10:49:44 +03:00
Sign in to join this conversation.