Полный цикл: CI/CD, мониторинг, аналитика
Как проекты выходят в продакшен и остаются живыми
Каждый проект выходит с одинаковым фундаментом: Docker-образы в GHCR, деплой из GitHub Actions с проверкой здоровья, миграции в бинаре, бэкапы базы, алерты в Telegram и аналитика с целями. Для нагруженных систем добавляются Prometheus, Grafana, Loki, Tempo и Sentry.
- Статус
- Работает в проектах
- Период
- 2025 — 2026
- Формат
- Опыт по проектам
- Роль
- DevOps, наблюдаемость, аналитика

- проектов с автодеплоем
- 9проектов с автодеплоем
- панелей Grafana в одном проекте
- 19панелей Grafana в одном проекте
- правил алертинга
- 10правил алертинга
- хранение бэкапов
- 14 днейхранение бэкапов
Задача
Сделать сайт мало: его нужно выкатывать без простоя, видеть ошибки раньше клиента и не потерять данные. Этот фундамент закладывается в первый день, а не после первой аварии.
Что сделано
- CI на каждый push: линтеры, go vet, go test -race, проверка типов, сборка фронтендов
- Прогон миграций вверх и вниз на настоящем PostgreSQL прямо в CI
- E2E-сценарии (вход, запись, оплата) блокируют деплой при падении
- Сборка только изменившихся сервисов, кэш слоёв, теги по версии и коммиту
- Деплой по SSH или через Watchtower, ожидание healthz после выката
- Ночные бэкапы pg_dump с ротацией 14 дней
Инженерные решения
- Метрики Prometheus и дашборды Grafana: RPS, перцентили задержек, ошибки, бизнес-метрики
- Логи в Loki, распределённый трейсинг через OpenTelemetry и Tempo
- Алерты в Telegram: Alertmanager или собственный модуль проверок раз в 10 минут
- Sentry на бэкенде и фронтенде
- Аналитика: Яндекс.Метрика с целями, собственная воронка событий с согласием по 152-ФЗ
Инфраструктура и DevOps
- Caddy с автоматическим TLS и заголовками безопасности, контейнеры без root
- Cloudflare, несколько проектов на одном сервере через общую docker-сеть
- Секреты прода в GitHub Secrets и отдельные ручные workflow для обслуживания
Стек
- Docker
- GitHub Actions
- GHCR
- Caddy
- Prometheus
- Grafana
- Loki
- Tempo
- OpenTelemetry
- Sentry
- Яндекс.Метрика


