Skip to content

fix: auto-deploy webhook ai-sekretar24.ru/webhook/ возвращает 502, site/ не синхронизируется #786

@ShaerWare

Description

@ShaerWare

Контекст

При merge PR #785 (мобильная адаптация лендинга) изменения не доехали до прода: на https://ai-sekretar24.ru/ всё ещё старый styles.css (cache buster ?v=2, лейбл KK), Last-Modified: Wed, 20 May 2026. Пришлось разбираться, почему авто-деплой не сработал.

Что показывают webhooks репо

gh api repos/ShaerWare/AI_Secretary_System/hooks

Два push-хука на сервере:

Хук URL Последний last_response Назначение (предполож.)
595336438 https://ai-sekretar24.ru/webhook/ 502 connection_error ai-secretary-webhook.service — auto-deploy (/opt/ai-secretary/deploy.sh)
595620064 https://ai-sekretar24.ru/webhooks/github 200 OK modules/admin/router_github_webhook.py — парсит ## NEWS для Telegram-бота и FCM-пушей

Последние 3 доставки сломанного хука:

2026-05-23T21:38:30 push  502
2026-05-23T21:30:18 push  502   ← наш merge
2026-05-23T21:29:00 push  502

Стабильно 502 на каждый push — сервис либо упал, либо nginx-роут /webhook/ указывает в никуда.

Что нужно сделать

  1. Поднять ai-secretary-webhook.service (или его аналог) на сервере. Проверить systemctl status ai-secretary-webhook, логи через journalctl -u ai-secretary-webhook -n 100, и nginx-блок location /webhook/ { proxy_pass ...; }.
  2. Расширить логику auto-deploy, чтобы она синхронизировала и site/, а не только admin/dist/. Сейчас лендинг живёт в site/{,en/,kk/} + root assets (styles.css, main.js, favicon.svg, robots.txt, sitemap.xml) и должен попадать в веб-корень nginx (предположительно /var/www/ai-sekretar24-site/ или соседний с /var/www/admin-ai-sekretar24/).

Минимальный набор шагов в скрипте после git pull:

# admin (уже было)
cd /opt/ai-secretary/admin && npm ci && npm run build
rsync -av --delete /opt/ai-secretary/admin/dist/ /var/www/admin-ai-sekretar24/
sed -i "s/ai-admin-v[0-9]*/ai-admin-v\$(date +%s)/" /var/www/admin-ai-sekretar24/sw.js

# site (новое)
rsync -av --delete /opt/ai-secretary/site/ /var/www/<путь-лендинга>/

systemctl restart ai-secretary
  1. (опционально) Изменения, не затрагивающие admin/ или site/, могут не запускать build — добавить early-exit по диффу для скорости.

Проверка после починки

После merge тестового PR, который трогает site/:

curl -sI https://ai-sekretar24.ru/styles.css?v=N
# Last-Modified должно стать актуальным
md5sum <(curl -s https://ai-sekretar24.ru/styles.css?v=N)
# должен совпасть с md5 локального site/styles.css

И последняя доставка хука /webhook/ должна быть 200 OK, а не 502.

Воркараунд

До починки лендинг придётся выкатывать вручную:

ssh root@155.212.231.7 'cd /opt/ai-secretary && git pull origin main && rsync -av --delete site/ /var/www/<путь-лендинга>/ && systemctl reload nginx'

Связано

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions