将 project.properties 文件传递​​给声纳扫描仪

passing project.properties file to sonar-scanner

我在一个解决方案文件中有多个项目。并且需要在 CI 的一个管道中构建 3 个项目,在另一个管道中构建两个项目。因此,为了使用 sonarqube 分析代码,我发现在解决方案文件和属性文件的目录中使用两个 project.properties 文件和 运行 sonar-scanner 命令可以解决问题。

如果我在一个 sonar-project.properties 文件中包含 3 个项目,这将起作用。因为我没有将任何参数与 sonar-scanner 一起传递,所以它正在选择默认属性文件,即 sonar-project.properties 。如果我重命名它并为另一个管道创建另一个属性文件,我需要将参数传递为

声纳扫描仪-Dproject.settings=../myproject.properties

但它无法识别属性文件。请帮忙

我关注了这个link:https://docs.sonarqube.org/display/SCAN/Advanced+SonarQube+Scanner+Usages 声纳库版本 = 6.8 TFS 2017 中的管道。 MSBuild 版本 15.

提前致谢。

当您尝试通过参数 project.settings 传递声纳属性文件时,分析文件夹中是否还有一个名为 sonar-project.properties 的文件?如果是这样,您必须重命名它才能使用 project.settings 参数。

我注意到如果 sonar-project.properties 文件已经存在,则不会考虑通过 project.settings 参数传递的文件。

不使用 .properties 文件,另一个仅分析特定项目的选项是在 csprojs 中使用 MSBuild 条件排除。 完整的描述可在 : https://github.com/SonarSource/sonar-.net-documentation/blob/master/doc/appendix-3.md

您可以直接在 SonarQube 任务的附加属性设置中直接使用 solution/project 文件夹下的传统属性文件,版本 4.0

One of the best improvements of this new preparation task, is that the single line “Additional properties” is replaced by a multi-line textbox which allows you to set all the properties as you would normally do in the “sonar-project.properties” file.

更多详情请查看此博客:Perform SonarCloud and SonarQube analysis with the new version 4 build tasks