如何在代理后面通过SonarQube安装/更新插件?

时间:2015-09-11 14:07:45

标签: proxy sonarqube sonarqube5.1.2

我有一个SonarQube 5.1.2安装,我正在尝试安装和更新一些插件,服务器没有直接的互联网访问权限,我们在这里有一个代理,让我们说http://1.1.2.3:9191/是我们的代理,我们有用户和密码验证。好吧,我已经根据文档编写了sonar.properties

http.proxyHost=10.1.2.3
http.proxyPort=9191
http.proxyUser=theuser
http.proxyPassword=thepassword

我转到http://sonar.sub.domain:9000/updatecenter/updates,我可以看到插件列表和更新,所以我假设在这一点上代理通信是正常的。

但是,当我尝试更新或安装插件时,我在页面中出现此错误(请注意no proxy消息)。

Fail to download the plugin (scmsvn, version 1.2) from https://bintray.com/artifact/download/sonarsource/SonarQube/org/sonarsource/scm/svn/sonar-scm-svn-plugin/1.2/sonar-scm-svn-plugin-1.2.jar (error is : Fail to download: https://bintray.com/artifact/download/sonarsource/SonarQube/org/sonarsource/scm/svn/sonar-scm-svn-plugin/1.2/sonar-scm-svn-plugin-1.2.jar (no proxy))   [hide] 

所以我调试日志并尝试,这会出现在日志中

2015.09.11 09:32:47 DEBUG web[o.s.a.u.HttpDownloader$BaseHttpDownloader$HttpInputSupplier] Download: http://update.sonarsource.org/update-center.properties (HTTP proxy: 1.1.2.3:9191)
2015.09.11 09:32:49 DEBUG web[o.s.a.u.HttpDownloader$BaseHttpDownloader$HttpInputSupplier] Download: https://bintray.com/artifact/download/sonarsource/SonarQube/org/sonarsource/scm/svn/sonar-scm-svn-plugin/1.2/sonar-scm-svn-plugin-1.2.jar (no proxy)
2015.09.11 09:33:10 DEBUG web[o.s.s.p.PluginDownloader] Fail to download the plugin (scmsvn, version 1.2) from https://bintray.com/artifact/download/sonarsource/SonarQube/org/sonarsource/scm/svn/sonar-scm-svn-plugin/1.2/sonar-scm-svn-plugin-1.2.jar (error is : Fail to download: https://bintray.com/artifact/download/sonarsource/SonarQube/org/sonarsource/scm/svn/sonar-scm-svn-plugin/1.2/sonar-scm-svn-plugin-1.2.jar (no proxy))
org.sonar.api.utils.SonarException: Fail to download: https://bintray.com/artifact/download/sonarsource/SonarQube/org/sonarsource/scm/svn/sonar-scm-svn-plugin/1.2/sonar-scm-svn-plugin-1.2.jar (no proxy)
...

还有很多StackTrace,

因此,当它尝试访问update-center.properties资源时没有问题,它会通过代理显示(HTTP proxy: 1.1.2.3:9191)消息。但是当它试图下载软件包时,它只是绕过了代理(我不知道为什么),因为在第二行和第三行的末尾显示消息(no proxy)

所以我的问题是,我如何配置SonarQube以用于代理?

注意:这个问题与SonarQube Proxy Configuration, Tricky类似,但我认为我可以看到插件和更新列表不一样,但可以下载它们,所以我认为不重复。

2 个答案:

答案 0 :(得分:5)

问题在于声纳配置文件允许您设置http代理,但它与httpsftp无关,那么那些使用https的更新站点会失败。

所以解决方案: 添加到 sonar.properties

sonar.web.javaAdditionalOpts=-Dhttps.proxyHost=10.1.2.3 -Dhttps.proxyPort=9191 -Dhttps.proxyUser=theuser -Dhttps.proxyPassword=thepassword

答案 1 :(得分:0)

当我们使用代理的IP地址时,我们也遇到了这个问题。当我切换到代理名称时,它工作正常。

DEBUG web[o.s.a.u.HttpDownloader$BaseHttpDownloader$HttpInputSupplier] Download: http://update.sonarsource.org/update-center.properties (HTTP proxy: www-proxy5.in.my.com:11)
DEBUG web[o.s.a.u.HttpDownloader$BaseHttpDownloader$HttpInputSupplier] Download: http://downloads.sonarsource.com/plugins/org/codehaus/sonar-plugins/python/sonar-python-plugin/1.5/sonar-python-plugin-1.5.jar (HTTP proxy: www-proxy5.in.my.com:11)

尝试使用代理名称而不是IP地址,我们没有进行任何身份验证,因此将用户/密码留空。如果这不起作用,请发布整个堆栈跟踪。