【问题标题】:Link to SonarQube on Jenkins job not availableJenkins 工作上的 SonarQube 链接不可用
【发布时间】:2015-09-05 05:06:38
【问题描述】:

在 Jenkins 工作的主页上,我看到了 SonarQube 图标,它应该是一个链接,但它只是文本:

我用...

  • Jenkins 1.596.2(也试过 1.609.1)
  • Jenkins SonarQube-Plugin 2.1(也尝试过 2.2.1)
  • Maven 3.3.1
  • sonar-maven-plugin:2.6(配置 SonarQube 构建后操作时)
  • sonar runner 2.4(配置 SonarQube 分析构建步骤时)

浏览了jenkins sonarqube-plugin的源码后发现SonarUtils.extractSonarProjectURLFromLogs()好像坏掉了。它解析正则表达式“ANALYSIS SUCCESSFUL, you can browse (.*)”的控制台输出。 我的控制台输出从不打印这一行。它只打印“ANALYSIS SUCCESSFUL”。

这是一个已知问题吗?

【问题讨论】:

  • 您运行的是哪个版本的 SonarQube?您能否在 pastebin.com 上粘贴您的分析日志(来自 Jenkins 的)并添加指向它们的链接?只得到“分析成功”是不正常的。
  • 我正在运行 SonarQube 4.1.2。不幸的是,我们的企业防火墙阻止了 pastebin.com。所以我无法粘贴完整的控制台输出。
  • 构建后操作的第一行:[workspace] $ /usr/maven/apache-maven-3.3.1/bin/mvn -f /home/bldthla1/data/jenkins/jobs/zeus. core.vorschriften-2.0_jvm-reports-plugin/workspace/pom.xml -e -B sonar:sonar -Dsonar.analysis.mode=preview -Dsonar.dynamicAnalysis=reuseReports -Dsonar.jdbc.url=jdbc:oracle:thin: @avo11.hhla.de:50017:AVO11 ******** ******** -Dsonar.host.url=vlxs030:9000 -Dsonar.branch=rel_2.0 ****** ** ********
  • 最后几行:[INFO] [08:42:55.725] 将结果存储在数据库中 [INFO] [08:42:57.207] 分析成功 [INFO] [08:42:57.209] 执行 post-作业类 org.sonar.plugins.buildbreaker.AlertBreaker [INFO] [08:42:57.211] 执行作业后类 org.sonar.plugins.buildbreaker.ForbiddenConfigurationBreaker

标签: jenkins sonarqube


【解决方案1】:

根据我在您的日志中看到的,您正在“预览”模式下运行分析:

... -Dsonar.analysis.mode=preview ...

您可以在documentation 上阅读有关预览模式的信息:

分析了源码但没有推送措施和问题 到 SonarQube 数据库。因此,它们无法浏览 网页界面。

所以你只收到ANALYSIS SUCCESSFUL 消息而没有相关的SQ URL 是正常的(因为在预览模式下结果不会推送到服务器)。

【讨论】:

  • 谢谢!我刚刚找到了相同的答案,并且正在写一个答案,但你更快:) 我在某个地方读到过,不是每次都继续。集成构建应将分析结果上传到数据库。所以我们只每晚上传到数据库。有没有一种很好的方法可以轻松查看 Jenkins 构建由于声纳而失败以及达到了哪个警报阈值?
  • 由于您使用的是旧版本的 SQ,您可以使用 Build Breaker 插件解决此问题。您可以在这篇博文中阅读更多内容:sonarqube.org/…
猜你喜欢
  • 1970-01-01
  • 2021-01-04
  • 1970-01-01
  • 2018-07-09
  • 1970-01-01
  • 1970-01-01
  • 2018-07-15
  • 2022-12-21
  • 2017-02-05
相关资源
最近更新 更多