Перейти к содержанию

Шлюзы качества

Все изменения контрактов данных проходят через автоматические шлюзы качества (quality gates) в CI/CD.


Шлюзы CI/CD

Шлюз Инструмент Действие при сбое
Валидация схемы ci/validate_contract.py Блокировать слияние
Совместимость схемы ci/detect_breaking_changes.py Блокировать, если версия не обновлена
Синтаксис quality rules ci/validate_quality_rules.py Блокировать слияние
Проверка версии ci/check_version_bump.py Блокировать, если bump не выполнен
Анализ влияния ci/analyze_impact.py Требовать утверждение затронутых команд

Матрица утверждений

Тип изменения Требуемые утверждения
Patch (только docs) Владелец контракта
Minor (добавление) Владелец + 1 ревьюер governance
Major (ломающее) Владелец + все затронутые потребители + руководитель governance
Новый контракт Руководитель домена + руководитель governance
Deprecation Владелец + все потребители + руководитель governance
Добавление PII Владелец + безопасность + юридический (если 152-ФЗ)

Workflow утверждения

sequenceDiagram
    participant D as Разработчик
    participant O as Владелец контракта
    participant G as Governance
    participant C as Потребители

    D->>O: MR создана
    O->>D: Рецензия / правки
    D->>O: Обновлено
    O->>G: Утверждено владельцем
    G->>C: Анализ влияния?
    C->>G: Утверждено
    G->>D: Слияние + развертывание

Аварийный процесс

Для критичных проблем production, требующих немедленных изменений контракта:

Emergency Change

  1. Объявить — уведомить #data-platform-oncall со ссылкой на инцидент
  2. Обойти шлюзы — MR с префиксом [EMERGENCY], одобрение от дежурного инженера
  3. Пост-ревью — в течение 24 часов создать follow-up MR с полной рецензией
  4. Документировать — включить инцидент в changelog и постмортем

Дополнительные материалы