使用 Job-DSL 配置 Jenkin 的 SonarQube 部分
Configure Jenkin's SonarQube section using 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
配置文件的路径?
最终脚本
感谢@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")
在 SonarRunnerBuilder
class 中有一个 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}')
}
}
使用 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")
在 SonarRunnerBuilder
class 中有一个 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}')
}
}