Анализ запросов на извлечение и ворота качества в SonarQube

Я установил SonarQube 7.6 Developer Edition и начал использовать его в своем конвейере среды разработки. Мой подход к написанию кода - разработка на основе транков. У нас есть только одна основная линия (основная или магистральная или развивающаяся, как вы предпочитаете определять, но только одна основная линия)

На самом деле все изменения в коде проходят через Pull Request, который, как я понял, в SonarQube распознается как ветвь с коротким сроком действия, и применяются только эти жестко закодированные правила.

Условия ошибки:

  • новые открытые ошибки> 0
  • новые открытые уязвимости> 0
  • новый открытый код пахнет> 0

Это подмножество моих условий качества ворот. Это означает, что PullRequest может пройти контроль качества (потому что он распознается как короткоживущая ветвь), и когда он объединен с основной линией (основной / магистральный), применяются мои правила качества ворот и может произойти сбой при слиянии.

Как я могу узнать, нарушит ли он качественные барьеры до утверждения PR или, проще, как идентифицировать запрос на извлечение как долгосрочную ветвь?

Я попытался определить * как шаблон долгоживущих ветвей, но он не работает. прикрепил скриншот.

1 ответ

Решение

На самом деле, для SonarQube 7.6 это статус:

  • Все PR следуют одним и тем же правилам Short-Lived Branch, и в настоящее время нет возможности настроить Ad-hoc Quality Gate (или, по крайней мере, так же, как в проекте), но это запланировано на Q12019. Более подробно, PR и SLB распознаются как две разные вещи, но их представление в SonarQube одинаково.
  • Не существует способа идентифицировать PR как долгоживущие ветви (даже с * в регулярном выражении шаблона долгоживущих ветвей).
  • Единственный способ получить доступ к качественным воротам - избежать PR и запустить объединение на главной линии, чтобы проверить, проходят ли качественные ворота.

Здесь есть ответ от менеджера сообщества SonarQube

https://community.sonarsource.com/t/pull-request-analysis-and-quality-gate/6306/2

Другие вопросы по тегам