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

Is it possible to use environment variable in sonar-project.properties file

我正在通过 Jenkins 构建执行声纳,有一个用例 'src' 位置根据构建而变化,所以我想使用环境变量来指定 'src' 路径。

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

src= c:/project/workspace 而不是我想使用 src =${SONAR_RUN_WORKSPACE}

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

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

  • 如果您从 jenkins 创建声纳-project.property 文件,您可以使用带参数的构建。

    (或)

  • 创建声纳-project.properties 没有 sonar.source。

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

  • 在 sh.

  • 中用 sonar.source=${path} 映射变量
  • 将 sonar.source 附加到 sonar-project.properties 中,使用 (>>) 或来自 jenkins 的 cmd 为每个 sh 构建。

    eg) sonar.source="path" >> sonar-project.properties

终于工作 space 包含带有 src 路径的 sonar-project.properties 文件。

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

所以,这现在应该可以工作了:

sonar.sources=${env.SONAR_RUN_WORKSPACE}