禁用特定项目的SonarQube插件

禁用特定项目的SonarQube插件,sonarqube,sonarqube-scan,Sonarqube,Sonarqube Scan,开门见山:如果我想同时执行以下两项操作,我想我需要从SonarQube服务器上为特定项目禁用SonarQube Github插件: 发布到sonarqube服务器&使用github插件向github报告。 我的理解是,安装在SonarQube服务器上会永远禁止整个服务器存储任何分析。因此,我需要找到一种方法,停止只在特定项目中使用github插件。有办法吗 p.S.背景故事 我最初的问题是。) 然而,在发现后,用户“Wirone”说它不会在sonar服务器中显示结果,因为Sonarqube Gi

开门见山:如果我想同时执行以下两项操作,我想我需要从SonarQube服务器上为特定项目禁用SonarQube Github插件:

发布到sonarqube服务器&使用github插件向github报告。
我的理解是,安装在SonarQube服务器上会永远禁止整个服务器存储任何分析。因此,我需要找到一种方法,停止只在特定项目中使用github插件。有办法吗

p.S.背景故事
我最初的问题是。)
然而,在发现后,用户“Wirone”说它不会在sonar服务器中显示结果,因为Sonarqube Github插件强制将
sonar.analysis.mode
设置为
preview
issues
,而不是
publish

根据Wirone的说法,sonarscanner不会将结果发送到服务器,除非模式设置为
publish

我试图找出
sonar.analysis.mode
的确切含义,但文章或根本没有帮助,我仍然不知道如果我想在sonar server而不是github中查看分析结果,应该设置什么模式

图1:整个服务器是空的。这个服务器实际上正在工作,并且已经在github上评论了几周了。然而,服务器本身根本不存储任何分析——它只是将所有内容通过管道传输到github,然后将其忘记,而不在数据库中存储任何内容。原因是什么?图2

图2:这就是原因。Github插件阻止将
sonar.analysis.mode
设置为
publish
。如果没有
publish
模式,服务器永远无法将结果存储在自身中。我不能卸载它,因为我需要github评论功能。
因此,我需要一个单独的项目来存储整个分析,但要做到这一点,我需要禁用该特定项目的插件行为


解决:我认为问题出在Sonascanner属性中留下github凭据。在删除属性中所有与github相关的信息后,它似乎可以正常工作

向下滚动至底部以阅读结论

Git集成工作配置:

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
试图将其发布到服务器,但由于“不支持sonar.analysis.mode=publish”错误消息,分析无法启动:

sonar.projectKey=${componentName}
sonar.projectVersion=0.1
sonar.sourceEncoding=UTF-8
sonar.analysis.mode=publish
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
回滚到“问题”模式,因为甚至没有人知道该模式的用途,并试图通过删除github相关选项使其停止发布到github(它没有发送到github,但现在也没有发送到服务器):

终于找到了答案:

sonar.projectKey=${componentName}
sonar.projectName=${componentName}
sonar.projectVersion=0.1
sonar.sourceEncoding=UTF-8
sonar.analysis.mode=publish
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
结论:
声纳分析模式非常混乱<代码>问题
预览
似乎几乎相同;它不会将结果存储在服务器中,它只是一个管道,可以在手动运行sonarrunner时在控制台上显示,也可以通过管道将其发送到sonarqube github插件以作为注释发布。
sonarqube github插件处于活动状态时,它禁止除
问题
预览
以外的任何模式。要将其发布到服务器,需要将其设置为
publish
。为此,我们需要确保没有使用github插件我们可以通过省略任何与github相关的属性(例如,
sonar.github.login
)来“禁用”插件项目。

sonar.projectKey=${componentName}
sonar.projectName=${componentName}
sonar.projectVersion=0.1
sonar.sourceEncoding=UTF-8
sonar.analysis.mode=publish
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