Несколько профилей качества для одного проекта

Есть ли способ иметь несколько профилей для одного проекта в Sonar?

Например, у нас есть проект Java EE с: EJB и WebApp (JSP и Back Bean). У нас есть 3 профиля качества: Java, Web и XML. Чтобы «выполнить» эти 3 профиля в нашем проекте, мы запускаем три анализа сонара и создаем 3 проекта результатов в Sonar.

Мы используем представления для перегруппировки этих трех проектов. Есть ли способ создать один проект, который использует 3 профиля и не использует представления?

Мы хотим использовать представления для группировки разных проектов, а не для одного проекта.


person Wilda    schedule 17.06.2013    source источник


Ответы (3)


У вас не может быть нескольких профилей для одного и того же проекта. Но если вы хотите этого, вам просто нужно создать свой собственный профиль, в котором есть все правила, определенные в ваших профилях. Например, предположим, что у вас есть профиль качества «Android Lint» и «Sonar Way», и если вы не хотите проверять свой проект по обоим этим профилям, просто сделайте следующее:

  1. Перейдите на вкладку «Профили качества» в SonarQube.
  2. Нажмите «Резервное копирование» в нужных профилях. Он загрузит файл .xml для каждого профиля.
  3. Просто просмотрите файл .xml и выясните, как он написан, а затем создайте новый файл .xml, который содержит правила обоих профилей, и дайте ему классное имя.
  4. Вернитесь на вкладку «Профили качества» в SonarQube.
  5. Нажмите «Восстановить профиль» и загрузите файл .xml.
  6. Вот и все.

Теперь у вас есть собственный профиль качества со всеми нужными вам правилами.

ОБНОВЛЕНИЕ: В последней версии SonarQube (я использую 6.2) вы можете использовать концепцию «Наследование» для объединения нескольких профилей качества. Теперь вы можете установить родительский профиль качества для любого профиля. Используя это, вы можете связать несколько профилей качества.

person Henry    schedule 05.06.2015
comment
не кажется ли это очень неэффективным способом добавления новых правил? - person Abubakar; 05.10.2016
comment
@Abubakar Да, это кажется неэффективным, но сейчас это единственный вариант. Невозможно добавить несколько профилей на панель управления Sonar. - person Henry; 19.10.2016
comment
@Henry Это все еще действительно для последней версии SonarQube? - person JJD; 13.06.2017
comment
@JJD Ответ верен, но теперь я использую Наследование, чтобы выполнить свою работу. Я обновил свой ответ. Спасибо за указание на это. - person Henry; 13.06.2017

Применение нескольких профилей для одного проекта невозможно.

Я вижу две альтернативы: объединение ваших профилей, как уже упоминалось, или сканирование одного и того же проекта в другой «ветви» (как в терминологии SonarQube).

Для сканирования в другой ветке обратитесь к профиль качества сонара для ассоциации с проектом. Имейте в виду, что синтаксис вызова maven на самом деле неверен, вместо этого используйте этот:

mvn ... -Dsonar.profile="Your profile name" -Dsonar.branch=YOUR BRANCH

Используя это, вы создадите новый проект под тем же именем, а также ветку с постфиксом. (название проекта:название ветки)

Что касается объединения двух профилей, проще всего это сделать на вкладке «Правила»:

  1. Выберите профиль качества x в представлении фильтра
  2. Массовое изменение (в правом верхнем углу списка)
  3. Активировать в
  4. Выберите профиль качества y

Это автоматически объединит два набора и предотвратит избыточность.

person guitarlum    schedule 15.12.2016

Просто расширив ответ @guitarium выше:

Для SonarQube 7 вы можете просто сделать следующее на веб-портале SonarQube, чтобы добавить дополнительные правила из других профилей в пользовательский профиль (действительно то же самое, что и слияние):

  1. Перейдите в раздел Профили качества и щелкните раскрывающийся список рядом с профилем, который вы хотите объединить.
  2. выберите Копировать
  3. Дайте копии крутое имя
  4. Нажмите на новую копию, чтобы перейти на страницу профилей качества.
  5. Перейдите в раздел Действия -> Активировать дополнительные правила.
  6. Нажмите Массовое изменение , затем Активировать в и выберите новый крутой профиль.
  7. Теперь у вас есть супер крутой объединенный профиль. Хорошая работа
person Fuzzy Analysis    schedule 03.08.2018