我已经建立了一个jenkins-sonarqube-github集成工作流,其中git存储库中的pull请求触发webhook,该webhook启动启动SonarQube Scanner的jenkins作业。问题是我无法将其发布到SonarQube前端,而不是发布给Github Github结果只显示了10个最重要的问题,我的团队需要能够看到整个分析结果。据我所知,这只能通过前端实现 问题:我已经设置了两个独立的分析工作。一个触发github评论行为(Sonarqube Github插件),但我不能让另一个简单地发布到服务器。我已经在后一个工作中删除了所有与github相关的配置,但它只是以“成功”结束,并且不会在任何地方报告。任何帮助,将不胜感激。
FIG1。工作的SonarQube扫描程序属性,发布到github而不是服务器
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
Fig2。不工作的配置,我试图调整停止发送结果到github而是发布(发送)到sonarqube服务器(sonar.analysis.mode =发布至少在声纳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
图三。日志:(抱歉,由于......公司问题,我不能在此处粘贴整个日志。如果需要,我会在审查之后添加整个日志。)
...
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.
- 这意味着它应该创建一个新的然后发布它。但是,它没有发布任何内容,只是以“成功”结束。没有链接或任何报告文件可供查看,它只是以某种方式分析它自己并且在没有告诉任何人的情况下死亡。我在这里做错了什么?
答案 0 :(得分:1)
我发现原因:服务器上安装的Sonarqube Github插件会阻止服务器存储任何分析结果,因为它不允许sonar.analysis.mode=publish
。如果有人想要从声纳服务器查看报告,则需要禁用该插件。
答案 1 :(得分:1)
我有一个类似的问题,原因是我设置了 sonar.analysis.mode = preview ,目标是进行分析而不发布结果。如果使用此模式,则可以删除它,也可以设置为适当的模式。
消除此问题解决了我的问题。