使用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
配置文件的路径?
最终剧本
感谢@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")
答案 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}')
}
}