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 теста без деплоя в прод
- Быстрого отключения сломанной функции без отката всего деплоя