Continuous Integration и Continuous Deployment

CI (Continuous Integration) — практика, при которой каждый коммит разработчика автоматически запускает сборку и набор тестов. Цель — обнаружить конфликты и баги как можно раньше, пока ветка не слита в основную.

CD означает два разных понятия:
Continuous Delivery — код прошёл CI и готов к деплою; деплой ручной
Continuous Deployment — деплой происходит автоматически после успешного CI

Для большинства e-commerce команд оптимальна схема: автоматический деплой на staging + ручное подтверждение для prod.

Типичный CI/CD пайплайн

Коммит → Lint & tests → Build → Deploy to staging → Manual review → Deploy to prod

При интеграции платформ персонализации критично добавить шаги:

  • Schema validation — проверка JSON-схемы событий (view, cart, purchase)
  • Smoke test — отправка тестового события в staging-окружение
  • Tag verification — проверка, что JS-сниппет загружается и инициализируется

CI/CD и интеграция платформ персонализации

Без CI сломанная event-схема обнаруживается спустя дни — когда платформа персонализации начинает жаловаться на пропуск ключевых полей или неверные типы данных. К этому моменту уже потеряна значительная часть обучающих данных для алгоритмов.

Важно: сделайте event-трекинг частью CI-тестов. Тест «событие purchase содержит обязательные поля order_id, revenue, items» занимает 5 минут на написание, но сберегает часы на отладку.

Тест Что проверяет
Schema validation Все события соответствуют ожидаемой схеме
Event delivery События доходят до staging-окружения платформы
Widget load JS-виджет инициализируется без ошибок в консоли
A/B split Пользователи корректно распределяются по группам

Feature flags как дополнение к CI/CD

Feature flag позволяет задеплоить новую функциональность в прод в выключенном состоянии и включить её в нужный момент — без нового деплоя. В e-commerce это стандартная практика для:

  • Постепенного роллаута нового рекомендательного виджета
  • Включения A/B теста без деплоя в прод
  • Быстрого отключения сломанной функции без отката всего деплоя