2015-04-27 55 views
4

使用Job-DSL,我們可以在Jenkins中配置一個C#項目。使用Job-DSL配置Jenkin的SonarQube部分

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

最終腳本

感謝@Bruno塞薩爾,我加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

SonarRunnerBuilder類有一個project attibute表示到的文件的路徑與屬性項目。

以與設置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}') 
    } 
} 
+0

我正在尋找類似的東西。謝謝。 –