1

Я пытаюсь настроить Sonar Gerrit - Jenkins Plugin на работу Дженкинса.Невозможно настроить «Sonar Gerrit» Плагин Jenkins

Контекст

  1. Дженкинс работа запускается, когда набор патч создан для Геррит
  2. Источник вырываются с мерзавцем, анализ cppcheck запущен и анализ эхолота запущен в режиме предварительного просмотра.
  3. Запускается пост-строительное действие «Сообщение о выпуске SonarQube как комментарии Gerrit».

Здесь представлены журналы анализа Jenkins для третьей точки.

Getting Sonar Report from: [XX].sonar\sonar-report.json 
Report has loaded and contains 2950 issues 
Connected to Gerrit: server name: Gerrit. Change Number: 297, PatchSetNumber: 1 
Unable to post review: Request failed. 
Build step 'Post SonarQube issues as Gerrit comments' marked build as failure 
Finished: FAILURE 

Комментарий добавляется к Геррит (то есть работы связи)

Сложение Failed Http: jenkins.com/job/project/118/: FAILURE

Я неспособный понять, где конфигурация неправильная. Вы знаете эту проблему?

На Gerrit httpd_log файл У меня есть следующие строки, когда я запустил новую работу Дженкинса.

IP-- - [26/октябрь/2016: 14: 30:. 08 +0200] "POST/а/изменения/REF/изменения/REF/обзор HTTP/1.1" 401 12 - «Апач -HttpClient/4.4.1 (Java/1.8.0_20) "

IP-- Дженкинс [26/окт/2016:. 14: 30: 08 +0200]" POST/а/изменения/REF/изменения/REF/обзор HTTP/1.1" 200 24 - "Apache-HttpClient/4.4.1 (Java/1.8.0_20)"

на первой команде есть вместо того, чтобы ни один пользователь на второй есть jenkins пользователь. Этот пользователь используется для подключения сервера Jenkins к серверу Gerrit (как ssh, так и REST API). Это проблема?


То, что я пытался до сих пор

Reconfigure Геррит Trigger плагин под Дженкинс

Как @Marcelo упоминалось, Sonar Геррит плагинов использует триггер Геррит. Я переконфигурировал весь плагин после Gerrit trigger set up.

я ранее пропустил шаг при добавлении права доступа Геррит для "Label" Подтверждено

Admin> Проекты> ...> Access> Изменить

Ссылка: ссылки/головок/* Метка: Проверенные : -1, +1 для неинтерактивных пользователей

Подробное разъяснение по должности Can't find 'Label Verified' permission in gerrit 2.7.

Удалить проверить тег отправить из Дженкинс в Геррит Как объяснено в install documentation для Геррит> 2.7.

Перейти к «Управление Дженкинс» и нажмите кнопку «Геррит Trigger» ссылка

Под «Геррит серверов» рядом с сервером (ами) нажмите на кнопку «Редактировать» (выглядит как шестеренка, другие иконки могут перекрывать его)

Под «Геррит Докладывает значения» нажмите кнопку Дополнительно в нижних

Под «Герритом Проверенно команда» удалить «--verified» секцию от каждой команды


Software Version

  • Дженкинс 2.19.1 Гит (2.5.3), Геррит Trigger (2.21.1), SonarQube (2.4.4), Sonnar Геррит (1.0.6) плагинов. Примечание: API Gerrit Trigger Rest API является функциональным
  • SonarQube 5.5
  • Gerrit 2.12.2. Событийный Log плагин (конфигурация по умолчанию)

ответ

1

Я подозреваю, что есть проблема с REST API связи между Дженкинс и Геррит.

Плагин «Sonar Gerrit» использует плагин «Gerrit Trigger» для отправки сообщений в Gerrit. Плагин «Gerrit Trigger» может использовать два разных метода для отправки сообщений в Gerrit: SSH или REST API.

Сообщение «Build Failed ... FAILURE» отправляется непосредственно плагином «Gerrit Trigger», и его можно выполнить с помощью SSH. Сообщения «Sonar Gerrit» НЕ МОГУТ быть выполнены с использованием SSH, их нужно сделать с использованием REST API, поэтому плагин «Gerrit Trigger» должен быть настроен на использование REST API для включения плагина «Sonar Gerrit» для публикации в Gerrit.

Дополнительная информация here.

Перейти к Дженкинс> Управление Дженкинс> Геррит Trigger> Edit> Advanced

И проверить, если REST API включен и если он работает, как ожидалось (с помощью кнопки "Test REST Connection")

+0

Спасибо за подробное объяснение. Я не упоминал об этом по моему вопросу (теперь я редактировал), но REST API правильно разрешен. Перезапуск Дженкинса ничего не меняет. Есть ли способ проверить сообщение Rest API? – Flows

+0

Вы использовали кнопку «Test REST Connection» в конфигурации «Gerrit Trigger»? –

+0

Да и это работает. В нем говорится «Успех». В ожидании других подсказок, я попытаюсь перенастроить весь плагин – Flows

1

Значит ли он работает с разделом «post score?» Неконтролируемый?

Какую категорию вы используете для составления счета? (Вы создали его в Геррит?)

Если я правильно помню, исключение (при условии, по Геррит Trigger) вызывает сообщение

Невозможно опубликовать отзыв: Не удалось выполнить запрос.

всегда точно такой же и не помогает понять причину RestApiException в любом случае.

+0

Оформить новую версию 1.0.7 для дополнительной регистрации. –

+0

Дополнительные записи являются релевантными и показывают, что проблема связана с подключением. Проблемы все еще открываются, но это не ссылка на ваш плагин. – Flows

1

выпущена новая версия плагина sonar-gerrit. Прошу прощения за задержку.

Я не могу полностью исправить проблему JENKINS-32851 прямо сейчас, поскольку причины исключения могут отличаться, но я добавил возможность видеть стоп-код RestAPIException. См. Подробности в проекте Wiki. Пожалуйста, дайте мне знать, если это поможет (или нет) и что (было?) Вызывает вашу проблему. Я чувствую, что мне нужно добавить некоторые возможные причины исключения в раздел устранения неполадок проекта Wiki :)

Смежные вопросы