【问题标题】:Can't publish results to Sonarqube server无法将结果发布到 Sonarqube 服务器
【发布时间】:2018-09-20 02:19:36
【问题描述】:

我已经建立了一个 jenkins-sonarqube-github 集成工作流程,其中 git 存储库中的拉取请求会触发一个 webhook,该 webhook 会启动一个启动 SonarQube Scanner 的 jenkins 作业。问题是我无法将它发布到 SonarQube 前端,而不是 Github。
Github 结果最多只能显示 10 个 top issues,我的团队需要能够看到整个分析结果。据我所知,这只能通过前端实现。
问题:我设置了两个单独的分析工作。一个触发 github 评论行为(Sonarqube Github 插件),但我无法让另一个简单地发布到服务器。我在后一项工作中删除了所有与 github 相关的配置,但它只是以“Success”结尾并且没有报告任何地方。任何帮助,将不胜感激。

图 1。发布到 github 而不是服务器的工作 SonarQube 扫描仪属性

sonar.projectKey=${componentName}
sonar.projectVersion=0.1
sonar.sourceEncoding=UTF-8
sonar.analysis.mode=issues
sonar.profile=My_Analysis_Profile
sonar.github.repository=${repository}
sonar.github.endpoint=https://customossendpoint/api/v3
sonar.github.login=someusername
sonar.github.oauth=somehashkey123
sonar.login=id
sonar.password=pass
sonar.github.pullRequest=${pr}
sonar.host.url=http://sonarserver:19000
sonar.issuesReport.console.enable=true 
sonar.github.disableInlineComments=false
sonar.sources=.
sonar.exclusions=
sonar.java.binaries=**/target/classes

图2。我试图调整以停止将结果发送到 github 而是发布(发送)到 sonarqube 服务器(sonar.analysis.mode=publish 至少在 sonar 6.x 中不存在)

sonar.projectKey=${componentName}
sonar.projectVersion=0.1
sonar.sourceEncoding=UTF-8
sonar.analysis.mode=issues
sonar.profile=My_Analysis_Profile
sonar.login=id
sonar.password=pass
sonar.host.url=http://sonarserver:19000
sonar.issuesReport.console.enable=false
sonar.sources=.
sonar.exclusions=
sonar.java.binaries=**/target/classes

图 3。日志:(抱歉,由于...公司问题,我不能将整个日志粘贴在这里。如果需要,我会在审查后添加整个日志。)

...
INFO: Issues mode
WARN: The use of the issues mode (sonar.analysis.mode=issues) is deprecated. This mode will be dropped in the future.
INFO: Load global settings
INFO: Load global settings (done) | time=68ms
INFO: Server id: asdfasdf
INFO: User cache: /home1/irteam/.sonar/cache
INFO: Exclude plugins: devcockpit, ldap, authgithub, authbitbucket, pdfreport, authaad, googleanalytics, governance
INFO: Load plugins index
INFO: Load plugins index (done) | time=59ms
INFO: SonarQube server 6.7.1
INFO: Default locale: "ko_KR", source code encoding: "UTF-8"
INFO: Process project properties
INFO: Load project repositories
WARN: Project doesn't exist on the server. All issues will be marked as 'new'.
...
INFO: Unit Test Coverage Sensor is started
INFO: 888/888 source files have been analyzed
INFO: Integration Test Coverage Sensor is started
INFO: Overall Coverage Sensor is started
INFO: Sensor JavaScript Squid Sensor [javascript] (done) | time=72434ms
INFO: Performing issue tracking
INFO: 19822/19822 components tracked
INFO: ANALYSIS SUCCESSFUL
INFO: Task total time: 4:31.750 s
INFO: ------------------------------------------------------------------------
INFO: EXECUTION SUCCESS
INFO: ------------------------------------------------------------------------
INFO: Total time: 4:33.207s
INFO: Final Memory: 72M/1513M
INFO: ------------------------------------------------------------------------
Finished: SUCCESS

如您所见,上面写着WARN: Project doesn't exist on the server. - 这意味着它应该创建一个新的然后发布它。但是,它不发布任何内容,只是以“成功”结尾。没有链接或任何报告文件可供查看,它只是以某种方式自行分析并死了,没有告诉任何人。我在这里做错了什么?

【问题讨论】:

  • 您的初始属性集应该可以同时发布到两者。您在查看项目的 SQ 分支菜单吗?
  • @G.Ann-SonarSourceTeam 我不确定项目的 SQ 分支菜单是什么意思。我们是否应该在集成 jenkins sonarqube 扫描仪插件之前手动创建一个新项目? sonarqube 前端管理页面上根本没有任何项目。我创建了一个新项目只是为了看看这是否是问题所在,但是使用相同的项目密钥创建一个空项目也不起作用。你能指点我大致的方向,了解如何简单地将 jenkins sonarqube 插件上传到 sonarqube 本地服务器吗?
  • 另外......几周前我已经成功上传到 sonarqube 服务器,但那是我试图让它上传到 github 的时候,所以我不记得我是怎么做的它。我可以肯定的是,在我将它发送到服务器后,我再次触摸了一些配置,之后它总是作为评论发送到 github,而不再发送到 sonarqube 本地服务器。

标签: sonarqube sonarqube-scan


【解决方案1】:

我找到了原因:安装在服务器上的Sonarqube Github插件阻止服务器存储任何分析结果,因为它不允许sonar.analysis.mode=publish。如果有人想查看来自声纳服务器的报告,则需要禁用该插件。

【讨论】:

    【解决方案2】:

    我遇到了类似的问题,原因是我设置了 sonar.analysis.mode=preview,目标是在不发布结果的情况下运行分析。如果您使用此模式,则可以删除或设置为适当的模式。

    删除它解决了我的问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-10-24
      • 2020-06-24
      • 1970-01-01
      • 2018-11-10
      • 1970-01-01
      • 1970-01-01
      • 2011-06-30
      • 2016-10-10
      相关资源
      最近更新 更多