5

使用 Job-DSL,我们可以在 Jenkins 中配置 C# 项目。

SonarQube 任务给我们带来了困难。

        StepContext.metaClass.sonar = {
        -> NodeBuilder nodeBuilder = new NodeBuilder()
            stepNodes << nodeBuilder.'hudson.plugins.sonar.SonarRunnerBuilder' {
                jdk('(Inherit From Job)')
                usePrivateRepository(false)
            }
    }

如何sonar-project.properties使用 Job-DSL 脚本设置配置文件的路径?

声纳部分

最终脚本

感谢@Bruno César,我添加pathToSonarProjectProperties了参数。

    StepContext.metaClass.sonar = { String pathToSonarProjectProperties
        -> NodeBuilder nodeBuilder = new NodeBuilder()
            stepNodes << nodeBuilder.'hudson.plugins.sonar.SonarRunnerBuilder' {
                jdk('(Inherit From Job)')
                usePrivateRepository(false)
                project(pathToSonarProjectProperties)
            }
    }

sonar使用以下相对于项目根的路径调用该函数sonar-project.properties

sonar("Framework\\xxx\\xxx\\sonar-project.properties")
4

1 回答 1

5

SonarRunnerBuilder类中,有一个project属性表示带有项目属性的文件的路径。

与设置 JDK ( jdk('(Inherit From Job)')) 的方式相同,您可以设置路径属性。在您的示例中,尝试这样:

StepContext.metaClass.sonar = {
    -> NodeBuilder nodeBuilder = new NodeBuilder()
    stepNodes << nodeBuilder.'hudson.plugins.sonar.SonarRunnerBuilder' {
        jdk('(Inherit From Job)')
        usePrivateRepository(false)
        project('${your.path.here}')
    }
}
于 2015-04-27T16:15:57.347 回答