将 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 文件去哪儿了?

项目没有 project.properties 文件

如何声明对cordova project.properties 文件的依赖关系?

不允许 Sonarqube.project.properties 文件

在运行时通过 java 中的命令提示符加载配置文件(project.properties)

如何在 project.properties 文件中使用 proguard.config 设置?