SonarQube 分析适用于 IDE,但不适用于 Jenkins Pipeline

Posted

技术标签:

【中文标题】SonarQube 分析适用于 IDE,但不适用于 Jenkins Pipeline【英文标题】:SonarQube analysis works in IDE but not in Jenkins Pipeline 【发布时间】:2020-07-29 09:51:35 【问题描述】:

我使用的是哪些版本(SonarQube、Scanner、插件和任何相关扩展):

SonarQube 7.9.1(在远程服务器上) Sonar maven 插件 3.7.0.1746(在我的 pom.xml 文件中) Jenkins 2.222.1(本地服务器) Maven 3.6.0

我想达到什么目标:

我想在远程服务器上使用 Jenkins 流水线进行分析

到目前为止我做了什么来实现这一点:

我已经成功地使用我的 IDE (intelliJ) 进行了分析,它可以使用以下命令:

mvn -B sonar:sonar

之后,服务器会使用质量门记录最后的分析。 然而,它不适用于我的 Jenkins 流水线。

我不明白为什么它适用于 IDE 而不适用于 Jenkins。

我在 pom.xml 中放入了一个 sonar.login,这是一个特定的用户令牌。该用户有权对此特定项目执行分析。在我的~/.m2/settings.xml 中,我放了sonar.host.url

我还尝试在 Jenkins 中手动设置 SonarQube 服务器(在系统配置中)。多亏了一个秘密文本,我把 url 和我的令牌放在那里,但它不起作用。

我还生成了一个 Webhook,但这是用于管道中的 qualitygate 变量,我认为这并不重要。

我现在不知道要测试什么…… 任何想法 ? 谢谢

【问题讨论】:

嗨,由于您对 stackoverlfow 似乎很陌生,这里有一些建议:请添加有关管道声纳步骤的注销。如果没有足够的信息,请增加输出级别。就像在带有 --info 标志的 gradle 中一样。它可以帮助我们帮助您。我们现在无法判断是否存在连接问题或配置错误。谢谢 能否分享一下jenkins和pom.xml的截图日志,或许我可以帮到你。 【参考方案1】:

现在可以了:我在设置中添加了声纳安装程序。此外,我将sonar.host.url~/.m2/settings.xml 移动到我的pom.xml 文件中。

【讨论】:

以上是关于SonarQube 分析适用于 IDE,但不适用于 Jenkins Pipeline的主要内容,如果未能解决你的问题,请参考以下文章

AutoLayout 适用于 UIView 但不适用于 UILabel。为啥?

重定向适用于登录但不适用于注销

Jquery $.Post 适用于 Firefox 但不适用于 Chrome

为啥 jQuery 选择器适用于 Chrome,但不适用于 Safari?

Tkinter 画布图像适用于 Windows 但不适用于 OSX

我的突变适用于 Amplify,但不适用于 Apollo。为啥?