интеграция gitlab с sonarqube
У меня есть GitLab CE (как минимум, v8.5), установленный на моем сервере. Я хотел бы интегрировать его с sonarqube, чтобы запросы слияния отображали любые проблемы в разделе комментариев. Кто-нибудь интегрировал эти 2 системы успешно?
На данный момент я нашел только плагин sonarqube, но я не могу успешно интегрировать его с GitLab.
https://gitlab.talanlabs.com/gabriel-allaigre/sonar-gitlab-plugin
Я использовал докер-контейнер для sonarqube (v5.5) и скопировал плагин в каталог расширений. Настроен пользовательский токен gitlab и gitlab uri на странице настроек плагина в sonarqube.
Я использую GitLab CI для непрерывной интеграции, и у меня есть следующая работа по созданию для sonarqube (с использованием gradle)
sh gradlew sonarqube -Psonar.analysis.mode=preview -Psonar.issuesReport.console.enable=true \
-Psonar.gitlab.commit_sha=$CI_BUILD_REF -Psonar.gitlab.ref_name=$CI_BUILD_REF_NAME \
-Psonar.gitlab.project_id=$CI_PROJECT_ID
Но я не уверен, что после этого. Пара вопросов:
-
Что произойдет, если запрос на слияние еще не существует? В моем рабочем потоке git пользователи будут отправлять запрос на слияние после того, как они будут работать в своем филиале. Итак, как этот плагин узнает, какой запрос слияния будет обновляться?
-
Прямо сейчас у меня есть задача валионации сонарбера, установленная для работы только на главной ветки. Я думаю, что это тоже нужно будет изменить на пользовательские ветки, верно?
Я попытался отправить запрос на слияние, но я не заметил комментариев. Я думаю, что мне не хватает какой-либо конфигурации или процесса. Очень ценю, если вы можете помочь указать мне в правильном направлении.
Ответы
Ответ 1
@1: комментарии будут добавлены в ваши коммиты и затем появятся в разделе обсуждения запроса на слияние
@2: Мы проводим полный анализ мастера и предварительный просмотр в любых ветких.
Ответ 2
У меня была такая же проблема, как у вас. Комментарии не показывались в GitLab MR. Я сделал это с двумя исправлениями:
- убедитесь, что используется режим предварительного просмотра. Если это не так, то проблемы не сообщаются GitLab
- для того, чтобы вопросы появлялись как комментарии GitLab, они должны быть "новыми" проблемами. Если вы запустили анализ своего проекта до нажатия на GitLab, эти вопросы не будут считаться новыми SonarQube, и комментарий к MR не будет добавлен.
Если это не решит вашу проблему, попробуйте клонировать репозиторий плагинов, добавив трассировку в код (CommitIssuePostJob.java - это место для поиска), упакуйте банку с maven и разверните исправленную банку для установки Sonar. Вот как я увидел, что у меня нет новых проблем для отчета.