Gradle + Sonar 主机 URL 和基本身份验证

Posted

技术标签:

【中文标题】Gradle + Sonar 主机 URL 和基本身份验证【英文标题】:Gradle + Sonar host URL and basic auth 【发布时间】:2017-12-04 13:26:37 【问题描述】:

有一个 Sonar 实例在基本身份验证(不是声纳身份验证)之后运行。

使用 Sonar Gradle 插件并通过以下方式在 gradle.properties 中指定 Sonar 主机 URL:

systemProp.sonar.host.url=https://admin:password@sonarqube.host.com

但是,这似乎不像我在 Gradle 日志中看到的那样进行身份验证:

SonarQube 服务器 [https://admin:password@sonarqube.host.com] 不能 到达

如果我 curl 相同的 URL,我会得到预期的 200 响应。

不知道为什么sonar.host.url 播放不好?

【问题讨论】:

【参考方案1】:

我不确定我的回答是否对 gradle 插件有帮助。

maven 插件有问题,调用/batch/index 时第一个请求不使用任何凭据,我不得不从基本身份验证中省略该路由。我认为这里是否也是这种情况值得检查。 即使使用 user:password@server 在第一次调用时插件也完全忽略了,我对 sonar.user 或任何代理用户设置都没有运气。

在我对 maven runner 的回答中有关我的设置的更多详细信息: https://***.com/a/60132667/1838233

【讨论】:

【参考方案2】:

两件事:

SonarQube 扫描仪和服务器之间的代理身份验证仅 自 SonarQube 6.1 起支持 (SONAR-8084)

在上述情况下,http.proxyUserhttp.proxyPassword 用于基本代理身份验证(您可以将 sonar.host.url 保留为实际的 HTTP URL)

【讨论】:

以上是关于Gradle + Sonar 主机 URL 和基本身份验证的主要内容,如果未能解决你的问题,请参考以下文章

jenkins+gradle/maven+sonar+pipline

Jenkins+Gradle+Sonar进行Java项目代码分析

在Gradle中添加Dependency Check,以及在Sonar中查看报告

使用 gradle / sonar / Jacoco 排除项目

Gradle Sonar插件不扫描根项目

使 Sonar Runner Gradle 任务依赖于我的一项任务