我正在尝试通过Jenkins将标准maven项目与SonarQube集成。 SonarQube已经为项目构建添加了一个Post-Build Action。
我可以看到Sonar在构建的控制台输出中正确调用,但它找不到任何要索引的文件。据我所知,声纳分析成功完成,但报告是空的。
从本地SonarQube安装的命令行本地运行的同一命令可以正常工作。
我在Jenkins中添加了SonarQube部分 - >使用服务器URL和DB URL配置Jenkins部分。
SonarQube上构建操作后项目中附加属性的唯一配置参数是-Dsonar.scm.disabled = true,我相信会关闭未提交的文件检查。
[sonarcore] $ /usr/share/apache-maven/bin/mvn -f /var/lib/jenkins/workspace/sonarcore/myproject-core/pom.xml -e -B sonar:sonar -Dsonar.scm.disabled=true -Dsonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?autoReconnect=true&useUnicode=true&characterEncoding=utf8 -Dsonar.host.url=http://localhost:9000/ [INFO] Error stacktraces are turned on. [INFO] Scanning for projects... [INFO] [INFO] ------------------------------------------------------------------------ [INFO] Building myproject-core 0.0.1-SNAPSHOT [INFO] ------------------------------------------------------------------------ [INFO] [INFO] --- sonar-maven-plugin:2.5:sonar (default-cli) @ myproject-core --- [INFO] SonarQube version: 5.1 INFO: Default locale: "en_US", source code encoding: "UTF-8" INFO: Work directory: /var/lib/jenkins/workspace/sonarcore/myproject-core/target/sonar INFO: SonarQube Server 5.1 [INFO] [10:23:00.144] Load global repositories [INFO] [10:23:00.327] Load global repositories (done) | time=185ms [INFO] [10:23:00.336] Server id: 20150413092802 [INFO] [10:23:00.338] User cache: /var/lib/jenkins/.sonar/cache [INFO] [10:23:00.353] Install plugins [INFO] [10:23:00.409] Install JDBC driver [INFO] [10:23:00.422] Create JDBC datasource for jdbc:mysql://localhost:3306/sonar?autoReconnect=true&useUnicode=true&characterEncoding=utf8 [INFO] [10:23:01.722] Initializing Hibernate [INFO] [10:23:03.174] Load project repositories [INFO] [10:23:03.198] Load project repositories (done) | time=24ms [INFO] [10:23:03.198] Load project settings [INFO] [10:23:03.424] Load technical debt model [INFO] [10:23:03.447] Apply project exclusions [INFO] [10:23:03.647] ------------- Scan myproject-core [INFO] [10:23:03.651] Load module settings [INFO] [10:23:03.758] Load rules [INFO] [10:23:03.826] Base dir: /var/lib/jenkins/workspace/sonarcore/myproject-core [INFO] [10:23:03.826] Working dir: /var/lib/jenkins/workspace/sonarcore/myproject-core/target/sonar [INFO] [10:23:03.827] Source paths: pom.xml, src/main/java [INFO] [10:23:03.827] Test paths: src/test/java [INFO] [10:23:03.827] Binary dirs: target/classes [INFO] [10:23:03.828] Source encoding: UTF-8, default locale: en_US [INFO] [10:23:03.828] Index files [INFO] [10:23:03.853] 0 files indexed [INFO] [10:23:03.894] Sensor Lines Sensor [INFO] [10:23:03.895] Sensor Lines Sensor (done) | time=1ms [INFO] [10:23:03.896] Sensor QProfileSensor
我在SO上发现另一个类似的线程,说我需要安装更多的插件,但我无法找到我需要的插件。
Analysing with SonarQube causes 0 files indexed and no reports (Maven Project)
我没有在Jenkins上添加SonarQube Runner,因为我认为不需要它。请参阅此处https://stackoverflow.com/a/13473275/4473028
答案 0 :(得分:0)
在您的服务器中:
您需要在服务器上安装Sonar runner,并且需要正确设置变量SONAR_RUNNER_HOME
。
在您的jenkins配置中:
您需要像这样设置sonarQube扫描仪的配置: Sonar configuration in Global Tool Configuration
安装插件后,您可以将其配置为作业配置中的执行步骤。
在您的工作配置中:
您需要在此前的步骤中指明sonar-project.properties
文件的路径和sonnar-runner实例,如下所示:sonar step configuration