Я настраиваю многомодульный проект maven, который вызывает выполнение sonar:sonar на этапе verify.
Я также использую подключаемый модуль сонара build-breaker, чтобы избежать развертывания модуля, если сонар выдает какие-то предупреждения.
Проблема с этим подходом заключается в том, что разработчик должен обращаться к серверу сонара для проверки предупреждений. Это не так уж и плохо, но если несколько пользователей пытаются анализировать один и тот же модуль одновременно, невозможно узнать, есть ли у последнего/текущего анализа ваши предупреждения.
КОНТЕКСТ: у нас есть система непрерывной интеграции, которая создает все модули каждый час. Так что иногда это сталкивается с деплоем разработчика (что приводит к анализу)
ИМХО, только система CI должна передавать анализ на сервер сонара, потому что CI имеет последний зафиксированный и развернутый код. Но разработчик должен только локально проверять свои изменения.
Итак, почему мы навязываем анализ в сборке для разработчиков? Чтобы избежать развертывания модулей, которые не соблюдают пороги качества кода (в этом помогает модуль отключения сборки сонара).
Есть ли способ настроить плагин maven-sonar для этого?
- локальный анализ в девелоперской сборке.
- анализ сервера в сборке CI
deploy modules
, а не только CI. Возможно, вы хотите, чтобы разработчики неcheck-in
код, который может сломать сонар? - person Raghuram   schedule 30.05.2012