将 project.properties 文件传递给声纳扫描仪
Posted
技术标签:
【中文标题】将 project.properties 文件传递给声纳扫描仪【英文标题】:passing project.properties file to sonar-scanner 【发布时间】:2018-10-03 10:55:16 【问题描述】:我在一个解决方案文件中有多个项目。并且需要在 CI 的一个管道中构建 3 个项目,在另一个管道中构建两个项目。因此,为了使用 sonarqube 分析代码,我发现使用两个 project.properties 文件并通过在解决方案文件和属性文件的目录中运行 sonar-scanner 命令来解决问题。
如果我在一个 sonar-project.properties 文件中包含 3 个项目,这是可行的。因为我没有与 sonar-scanner 一起传递任何参数,所以它正在选择默认属性文件,即 sonar-project.properties 。如果我重命名它并为另一个管道创建另一个属性文件,我需要将参数传递为
声纳扫描仪 -Dproject.settings=../myproject.properties
但它无法识别属性文件。请帮忙。
我点击了这个链接:https://docs.sonarqube.org/display/SCAN/Advanced+SonarQube+Scanner+Usages Sonarqube 版本 = 6.8 TFS 2017 中的管道。 MSBuild 版本 15。
提前致谢。
【问题讨论】:
您好 Kaushik Kv,有任何更新,您的问题解决了吗? 【参考方案1】:当您尝试通过参数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
【讨论】:
我有两个属性文件。一个是Service-sonar-project.properties,另一个是分析文件夹中的Master-sonar-project.properties。我想使用声纳扫描仪参数为每个管道选择一个。【参考方案2】:不使用解决方案/项目文件夹下的传统属性文件,您可以直接在SonarQube 4.0版本任务的附加属性设置中使用它
这项新准备任务的最佳改进之一是 单行“附加属性”被多行替换 允许您设置所有属性的文本框 通常在“sonar-project.properties”文件中进行。
更多详情看这个博客:Perform SonarCloud and SonarQube analysis with the new version 4 build tasks
【讨论】:
以上是关于将 project.properties 文件传递给声纳扫描仪的主要内容,如果未能解决你的问题,请参考以下文章
从 sonar-runner 迁移到 MSBuild Runner。 sonar-project.properties 文件去哪儿了?
如何声明对cordova project.properties 文件的依赖关系?
不允许 Sonarqube.project.properties 文件