gabrie-allaigre / sonar-gitlab-plugin

Add to each commit GitLab in a global commentary on the new anomalies added by this commit and add comment lines of modified files
GNU Lesser General Public License v3.0
713 stars 208 forks source link

use sonar.host.url (not sonar.core.serverBaseURL) for calling webservices #271

Open thomasgl-orange opened 4 years ago

thomasgl-orange commented 4 years ago

In our company, the network environment is such that the public URL of SonarQube servers (defined by the sonar.core.serverBaseURL property in the server config) is not the same as the internal URL which can be reached from the Gitlab-CI runners. This is usually not an issue at all for running SQ analysis (what matters is the sonar.host.url property set for the SonarQube Scanner, and all webservices are called from the Gitlab-CI runners with his URL, not the public one). But with the sonar-gitlab-plugin, it became an issue, because this plugin tries to use the public URL to call a webservice (to retrieve the Quality Gate status at the end of the analysis).

This patch tries to fix that: it introduces a distinction between GitLabPluginConfiguration.baseUrl (the public URL, to be used for user-facing links to SonarQube web pages) and GitLabPluginConfiguration.baseWsUrl (which is basically sonar.host.url or the localhost:9000 default, thus whatever URL has actually been used for running this SonarQube analysis). The later is used in the SonarFacade only, and the former is still used everywhere else.

thomasgl-orange commented 4 years ago

FYI, this PR is not exactly what we're using to workaround this issue, because our SonarQube server are still in version 6.7 LTS. Here is a similar patch for version 3.0.2 of the sonar-gitlab-plugin: thomasgl-orange/sonar-gitlab-plugin@1d6700c