使用Job-DSL配置Jenkin的SonarQube部分

时间:2015-04-27 15:29:10

标签: groovy jenkins sonarqube jenkins-job-dsl

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

SonarQube任务让我们很难过。

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

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

Sonar section

最终剧本

感谢@BrunoCé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")

1 个答案:

答案 0 :(得分:4)

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}')
    }
}