是否可以在 sonar-project.properties 文件中使用环境变量

Posted

技术标签:

【中文标题】是否可以在 sonar-project.properties 文件中使用环境变量【英文标题】:Is it possible to use environment variable in sonar-project.properties file 【发布时间】:2016-12-22 16:29:03 【问题描述】:

我正在通过 Jenkins 构建执行声纳,存在“src”位置根据构建而变化的用例,因此我想使用环境变量来指定“src”路径。

例如在 sonar-project.properties 中我想指定如下所示:

src= c:/project/workspace 我想改用src =$SONAR_RUN_WORKSPACE

【问题讨论】:

【参考方案1】:

不,sonar-project.properties 不支持环境变量。无论如何,回到您的用例:您最好使用sonar.sources 的相对路径,这样,无论在何处运行分析(即使用 Jenkins 的任何工作区),始终可以在预期位置找到源(来自项目的基本目录) )。

【讨论】:

【参考方案2】:

您不能将环境变量传递到 sonar-project.property 文件中。

如果你是从 jenkins 创建 sonar-project.property 文件,你可以使用 build with param。

(或)

创建一个不带 sonar.source 的 sonar-project.properties。

使用参数变量path创建构建,从用户那里获取每个构建的src路径,

在 sh 中使用 sonar.source=$path 映射变量。

使用 (>>) 或 jenkins 的 cmd 将 sonar.source 附加到 sh 中的每个构建的 sonar-project.properties。

例如)sonar.source="path" >> sonar-project.properties

最后工作空间包含带有 src 路径的 sonar-project.properties 文件。

【讨论】:

【参考方案3】:

从 SonarQube Scanner 2.9 版开始,sonar-project.properties 支持环境变量(请参阅SQSCANNER-9)。

所以,现在应该可以了:

sonar.sources=$env.SONAR_RUN_WORKSPACE

【讨论】:

以上是关于是否可以在 sonar-project.properties 文件中使用环境变量的主要内容,如果未能解决你的问题,请参考以下文章

是否可以判断一个对象是否在不同的 AppDomain 中运行?

是否可以使用 JavaScript 确定 GeoJSON 点是否在 GeoJSON 多边形内?

是否可以在 Cocoa 中确定文件是否是从别名打开的?

是否可以检查是否在 iOS 7 中启用了 iCloud KeyChain?

是否可以在接口中实现本机方法?

是否可以在 Swift 2.1 中检查目录是否为空? [复制]