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?