gpt4 book ai didi

java - Sonar分析导致通过Jenkins在maven项目上索引0个文件

转载 作者:太空宇宙 更新时间:2023-11-04 13:57:58 25 4
gpt4 key购买 nike

我正在尝试通过 Jenkins 将标准 Maven 项目与 SonarQube 集成。 SonarQube 已在项目构建中添加了构建后操作。

我可以看到在构建的控制台输出中正确调用了 Sonar,但它找不到任何要索引的文件。据我所知, Sonar 分析成功完成,但报告为空。

针对本地 SonarQube 安装从命令行本地运行的相同命令可以正常工作。

  • Jenkins :1.605
  • Sonar:5.1(与 Jenkins 在同一台机器上运行,来自MySQL 数据库)
  • Jenkins Maven 插件:2.8
  • Jenkins SonarQube 插件:2.2

我在 Jenkins 中添加了 SonarQube 部分 -> 使用服务器 URL 和数据库 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

最佳答案

在您的服务器中:

您需要在服务器上安装 Sonar 运行程序,并且需要正确设置变量 SONAR_RUNNER_HOME

在你的 Jenkins 配置中:

您需要像这样设置 sonarQube 扫描仪的配置: Sonar configuration in Global Tool Configuration

安装插件后,您将能够将其配置为作业配置中的执行步骤。

在您的作业配置中:

您需要指示 sonar-project.properties 文件的路径以及您在之前步骤中已配置的sonnar-runner 实例,如下所示:sonar step configuration

关于java - Sonar分析导致通过Jenkins在maven项目上索引0个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29624476/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com