【问题标题】:Configure Jenkin's SonarQube section using Job-DSL使用 Job-DSL 配置 Jenkins 的 SonarQube 部分
【发布时间】:2021-05-01 09:43:24
【问题描述】:

使用 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 配置文件的路径?

最终脚本

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

【问题讨论】:

    标签: groovy jenkins sonarqube jenkins-job-dsl


    【解决方案1】:

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

    【讨论】:

    • 我正在寻找类似的东西。谢谢。
    猜你喜欢
    • 2017-03-15
    • 2016-11-18
    • 2020-02-06
    • 1970-01-01
    • 2015-07-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-03
    相关资源
    最近更新 更多