Перейти к содержимому
N1
CRM / Bitrix24 · DevOps · CI/CD · бэкапы

Коробочный Bitrix24 в Docker: CI/CD, обезличенные дампы, бэкапы и мониторинг

Клиент: Страховая компания, NDA Категория: CRM / Bitrix24 Стек: Docker Compose, Rocky Linux 9, GitLab CI, bash, PHP 8.4, MySQL, nginx, Prometheus, Grafana, Telegram Срок: внедрялось поэтапно
Проблема

Портал разворачивали и обновляли руками, заявленный в документации ежедневный бэкап на деле не существовал ни на одном сервере, а разработка шла на копиях прода с персональными данными.

Ограничения

Ядро коробочного Bitrix24 обновляется вендором и само меняет схему базы — из git его не пересобрать. Прод нельзя останавливать, а персональные данные клиентов страховой не должны уходить с прода.

Что сделал
  • Прод с нуля одной командой на Rocky Linux 9: пакеты, Docker, код, конфиги, база и проверка — идемпотентно, без перегенерации секретов
  • Выкат через GitLab CI только после зелёного препрода и предполётной проверки прода; после выката — смоук-проверка и сверка схемы с препродом
  • Обезличенный дамп — единственный формат данных для локалки и препрода: секреты, телефоны и персональные данные маскируются до выдачи
  • Бэкап базы, файлов и конфигов с обязательной проверкой восстановимости во временную базу
  • Обновление ядра одной командой: точка восстановления, снимок схемы «до» и «после» и манифест изменений
  • Миграции схемы с журналом и блокировкой от параллельного запуска; мониторинг на Prometheus и Grafana с уведомлениями в Telegram
Архитектура
GitLab CI → Препрод на обезличенных данных → Прод в Docker Compose → Бэкап + проверка восстановления → Prometheus / Grafana → Telegram
Результат

Портал разворачивается и обновляется воспроизводимо: схема ведётся 235 миграциями, изменения прикрывают 95 файлов PHPUnit-тестов (более 700 тестов) и тесты фронтенда. Бэкап считается рабочим только после проверенного восстановления.

Что можно переиспользовать
Скрипт разворачивания прода коробочного Bitrix24 с нуля SQL-обезличивание дампа Bitrix24 Конвейер GitLab CI с воротами препрода и обновление ядра со снимком схемы