4

我在 Debian 上的容器中运行 Jenkins 和 SonarQube。Jenkins 映像以--link sonar:sonarsonar 是正在运行的 Sonar 容器的名称的选项启动。因此,Jenkins 的 /ets/hosts 包含一个主机名条目,指向 dockerized Sonar 的 ip。在 Sonar-config 部分(在 Jenkins 中),输入sonar:9000作为 Sonar 服务器。

构建时,扫描仪按预期运行,但项目页面中的 Sonar-link 包含内部 Docker-address,即 sonar:9000!这个地址在 Docker 之外是没有意义的。我希望链接指向主机。当我直接导航到主机端口 9000时,我可以看到 Sonar 的分析。

如何将 Jenkins 在构建过程中使用的 Sonar 的 url 和项目构建页面中显示的 url 分开?

这是Sonar 构建页面中项目构建页面的屏幕截图

Sonarcube 链接指向在Sonarqube Servers下的 Manage Jenkins->Configure System 中设置的 URL 。在本例中,url 是 sonar:9000,这是运行 Jenkins 的容器已知的主机名。这个 URL 在容器之外是没有意义的。应该可以为服务器输入一个内部 URL,为 Jenkins 用户输入一个外部 URL。

4

0 回答 0