Quality Gate собирает по каждому коммиту метрики качества. В интерфейсе платформы Spirit (для руководителей) или GitLab (для разработчиков) можно посмотреть графики изменения разных метрик, получить подробную информацию о непройденных тестах, обнаруженных уязвимостях и прочих недостатках. То есть Quality Gate помогает оценивать качество изменений от общего к частному — с обзорного уровня до конкретных строк кода.
Основные показатели, по которым оценивается качество изменений
Качество кода:
- Покрытие кода тестами (Coverage).
- Статический анализ (Lint).
- Анализ уязвимостей (SAST).
Качество проекта:
- Анализ достаточности и автоматизации тестирования (Allure).
- Контроль индекса производительности (Cosmos).
- Контроль за соблюдением контрактов (CDC).
Система иерархически отображает динамику изменения качества на разных уровнях: руководители могут оценить, как развиваются отдельные репозитории, проекты команд или департаментов, а разработчики сразу видят, какое влияние окажет на кодовую базу подготовленный ими код.
Непрерывное улучшение качества
Quality Gate сильно облегчает задачу непрерывного улучшения, наглядно показывая, как меняется качество кода в результате каждого Merge Request. Для этого после подключения инструмента к репозиторию нужно настроить в профиле оценки качества целевые показатели. После этого Quality Gate будет подсвечивать все места, где не удалось достичь нужных значений метрик, и при этом не даст залить код, снижающий общее качество.
Автоматизация
Quality Gate — это автоматизированный наблюдатель. Если
При этом система автоматически запрещает вливание коммитов, не соответствующих целевым метрикам, в кодовую базу, чтобы исключить человеческий фактор — ошибки или результат невнимательности.
Быстрый старт
Подключить Quality Gate к своему репозиторию очень легко. Это делается в два простых шага: с помощью базовых настроек и настроек модулей. После этого достаточно положить в репозиторий получившийся профиль оценки качества.
Технологии
Технически Quality Gate — это набор
Планы на будущее
- Новые метрики для анализа качества кода.
- Библиотека правил для статического анализа.
- Упрощение подключения в больших проектах.
- Интеграция с системой развертывания.