Контекст: прямо сейчас у меня есть работа Дженкинса вольным стилем, которая запускается некоторыми событиями Геррита. Когда он запускается, он загружает изменения и запускает для них анализ Sonarqube. После того, как анализ будет завершен, он должен опубликовать комментарии к Герриту с подробным описанием результатов.

К сожалению, независимо от результата анализа Sonarqube, в комментарии всегда говорится, что «нарушений sonarqube обнаружено не было».

Несколько картинок: введите описание изображения здесь

Конфигурация работы Jenkins Freestyle: введите здесь описание изображения

Post-Build configuration

Версии:

Дженкинс v2.46.2

Плагин Gerrit Trigger v.2.24.0

Плагин Sonar Gerrit v2.0

Сканер Sonarqube для плагина Jenkins v2.6.1

Sonarqube v6.3.1

Геррит v2.13.5

Вывод из консоли Jenkins:

Unpacking https://repo1.maven.org/maven2/org/sonarsource/scanner/cli/sonar-scanner-cli/3.0.3.778/sonar-scanner-cli-3.0.3.778.zip to /var/jenkins/tools/hudson.plugins.sonar.SonarRunnerInstallation/sonar on ubuntu-graphical
[osstp-ci] $ /var/jenkins/tools/hudson.plugins.sonar.SonarRunnerInstallation/sonar/bin/sonar-scanner -e -Dsonar.host.url=<ip_address>:9000 -Dsonar.projectName=osstp-work -Dsonar.issuesReport.json.enable=true -Dsonar.report.export.path=sonar-report.json -Dsonar.analysis.mode=preview -Dsonar.projectKey=org.vmware:osstpmgt -Dsonar.inclusions=**/*.py -Dsonar.host.url=http://10.20.96.87:9000 -Dsonar.sources=. -Dsonar.projectBaseDir=/var/jenkins/workspace/osstp-ci
INFO: Option -e/--errors is no longer supported and will be ignored
INFO: Scanner configuration file: /var/jenkins/tools/hudson.plugins.sonar.SonarRunnerInstallation/sonar/conf/sonar-scanner.properties
INFO: Project root configuration file: NONE
INFO: SonarQube Scanner 3.0.3.778
INFO: Java 1.8.0_131 Oracle Corporation (64-bit)
INFO: Linux 4.8.0-36-generic amd64
INFO: User cache: /home/tgong/.sonar/cache
INFO: Load global settings
INFO: Load global settings (done) | time=160ms
INFO: User cache: /home/tgong/.sonar/cache
INFO: Exclude plugins: devcockpit, ldap, authgithub, authbitbucket, pdfreport, authaad, googleanalytics, governance
INFO: Load plugins index
INFO: Load plugins index (done) | time=10ms
INFO: Download sonar-csharp-plugin-5.7.0.612.jar
INFO: Download sonar-python-plugin-1.7.0.1195.jar
INFO: Download sonar-java-plugin-4.5.0.8398.jar
INFO: Download sonar-flex-plugin-2.3.jar
INFO: Download sonar-scm-git-plugin-1.2.jar
INFO: Download sonar-php-plugin-2.9.2.1744.jar
INFO: Download sonar-scm-svn-plugin-1.4.0.522.jar
INFO: Download sonar-javascript-plugin-2.20.0.4207.jar
INFO: SonarQube server 6.3.1
INFO: Default locale: "en_US", source code encoding: "UTF-8" (analysis is platform dependent)
INFO: Process project properties
INFO: Load project repositories
INFO: Load project repositories (done) | time=217ms
INFO: Load quality profiles
INFO: Load quality profiles (done) | time=66ms
INFO: Load active rules
INFO: Load active rules (done) | time=1693ms
INFO: Load metrics repository
INFO: Load metrics repository (done) | time=141ms
INFO: Issues mode
INFO: Scanning only changed files
INFO: Project key: org.vmware:osstpmgt
INFO: -------------  Scan osstp-work
INFO: Load server rules
INFO: Load server rules (done) | time=68ms
INFO: Base dir: /var/jenkins/workspace/osstp-ci
INFO: Working dir: /var/jenkins/workspace/osstp-ci/.scannerwork
INFO: Source paths: .
INFO: Source encoding: UTF-8, default locale: en_US
INFO: Index files
INFO: Included sources: 
INFO:   **/*.py
WARN: Not indexing due to symlink loop: /var/jenkins/workspace/osstp-ci/www/scotzilla
INFO: 717 files indexed
INFO: 2093 files ignored because of inclusion/exclusion patterns
INFO: Quality profile for py: Sonar way
INFO: Sensor NoSonar Sensor [php]
INFO: Sensor NoSonar Sensor [php] (done) | time=1ms
INFO: Sensor Coverage Report Import [csharp]
INFO: Sensor Coverage Report Import [csharp] (done) | time=1ms
INFO: Sensor Coverage Report Import [csharp]
INFO: Sensor Coverage Report Import [csharp] (done) | time=0ms
INFO: Sensor Unit Test Results Import [csharp]
INFO: Sensor Unit Test Results Import [csharp] (done) | time=1ms
INFO: Sensor XmlFileSensor [java]
INFO: Sensor XmlFileSensor [java] (done) | time=7ms
INFO: Sensor Analyzer for "php.ini" files [php]
INFO: Sensor Analyzer for "php.ini" files [php] (done) | time=8ms
INFO: Load server issues
INFO: Load server issues (done) | time=1053ms
INFO: Performing issue tracking
INFO: 813/813 components tracked
INFO: Export issues to /var/jenkins/workspace/osstp-ci/.scannerwork/sonar-report.json
INFO: ANALYSIS SUCCESSFUL
INFO: Task total time: 11.610 s
INFO: ------------------------------------------------------------------------
INFO: EXECUTION SUCCESS
INFO: ------------------------------------------------------------------------
INFO: Total time: 17.577s
INFO: Final Memory: 46M/114M
INFO: ------------------------------------------------------------------------
Getting Sonar Report from: /var/jenkins/workspace/osstp-ci/.scannerwork/sonar-report.json
Report has loaded and contains 1492 issues
Connected to Gerrit: server name: Gerrit. Change Number: 32, PatchSetNumber: 1
Review has been sent
Finished: SUCCESS
1
lockijazz 22 Июл 2017 в 01:53
На основании первого изображения был проведен некоторый анализ или это результаты прошлого? Просматривали ли вы файлы журнала SonarQube на предмет каких-либо исключений?
 – 
Jeroen Heier
22 Июл 2017 в 07:58

3 ответа

Не уверен, что вы уже решили эту проблему, но ваша запись «Настройки проекта» пуста, и недавно было исправление (январь 2018 - JENKINS-43730), которое устраняет то, что могло вызвать вашу проблему: https://wiki.jenkins.io/display/JENKINS/Sonar+Gerrit#SonarGerrit-Version2 .1 (6 января 2018 г.)

2
daecks 9 Янв 2018 в 20:05

Попробуйте установить следующее:

1) Сборка> Выполнить сканер SonarQube> Свойства анализа

sonar.report.export.path=sonar-report.json

2) Действия после сборки> Опубликовать проблемы SonarQube как комментарии Gerrit> Настройки проекта

SonarQube report path = .sonar/sonar-report.json
1
Marcelo Ávila de Oliveira 22 Июл 2017 в 18:28
Я сделал это, за исключением того, что установил SonarQube report path = .scannerwork/sonar-report.json.
 – 
Tom Gong
24 Июл 2017 в 20:43
В выводе на консоль написано Report has loaded and contains 2425 issues, но Геррит по-прежнему говорит No Sonarqube violations have been found.
 – 
Tom Gong
24 Июл 2017 в 20:43
Почему .scannerwork / вместо /.sonar? Там был создан отчет .json? Ты проверил?
 – 
Marcelo Ávila de Oliveira
25 Июл 2017 в 04:01
Да, извините, не уточнил. Теперь я могу найти отчет в .scannerwork / sonar-report.json, так что после сборки можно найти отчет. Дженкинс по-прежнему публикует комментарии к Герриту, в которых говорится: «Никаких нарушений Sonarqube обнаружено не было».
 – 
Tom Gong
25 Июл 2017 в 21:07
Пожалуйста, добавьте дополнительную информацию из консоли Jenkins.
 – 
Marcelo Ávila de Oliveira
27 Июл 2017 в 00:18

Похоже, ваше свойство user.dir не установлено. Установите это место, где git загружает код (скорее всего, в $WORKSPACE) Итак, включите этот user.dir=$WORKSPACE с другими параметрами анализа.

0
anothernode 7 Май 2018 в 12:12