我知道没有"新项目" SonarQube UI上的按钮。但是,我有两个同一个项目的分支,我想对其进行分析。问题在于,由于项目名称相同,SonarQube会将两个分支的分析结果上传到SonarQube Server上的同一个项目中。如何配置SonarQube,以便一个分支将分析结果上传到一个项目,另一个分支将结果上传到SonarQube服务器上的另一个项目?
答案 0 :(得分:50)
您可能希望查看this part of the Sonar documentation,特别是在sonar.branch参数中。它似乎是为你想要做的而设计的,并且正在为我们这样做。
答案 1 :(得分:6)
如果您使用SonarQube Runner,则必须将sonar.projectKey
属性更改为其他值。如果您使用基于maven的分析,则将-Dsonar.projectKey="Something"
添加到您的命令中。例如:
mvn sonar:sonar -Dsonar.projectKey="My project in first branch"
mvn sonar:sonar -Dsonar.projectKey="My project in second branch"
您可以使用sonar.projectName
属性以类似的方式更改项目名称。
答案 2 :(得分:6)
This blog post by the SonarQube team表明在版本6中将改进对分支的处理。
此外,如果您正在使用拉取请求,请查看其拉取请求分析插件(目前GitHub和BitBucket)。
答案 3 :(得分:4)
由于sonar.branch参数已弃用且Developer Edition需要花钱,因此可以选择使用已提及的branch plugin for SonarQube Community Edition(LGPL)。
更新:好像回购已经不见了,不知道为什么。还有另一个分叉,但看起来不太活跃,请参阅here。
答案 4 :(得分:0)
sonar.branch参数已从7.1版声纳中弃用,因此,作为替代方案,并对sonarQube 7.1版字词进行单独的分支分析,您可以使用类似这样的内容。
我假设您有maven项目。如果不是,只需从中删除-D并使用它即可。
mvn sonar:sonar -Dsonar.projectKey=<projectname>
mvn sonar:sonar -Dsonar.projectName=<project-name>
项目密钥应唯一。否则,它将合并具有相同项目密钥的其他分支的结果。