2013-08-12 33 views
1

我有一個多配置構建,我希望essentally爲每個匹配foo/*/bar/*.xml的文件運行一個構建。我認爲GroovyAxis插件是一個很好的選擇,但是我找不到任何有關如何從腳本內部訪問構建配置的文檔,所以我無法從任何地方讀取workspace-directory。變量項目配置綁定到jenkins的groovy軸插件

運行類似return new File('.').listFiles().collect{it.toString()}的內容會返回服務器根目錄下的所有文件。

任何人都可以指向正確的方向嗎?

+0

你有沒有想過這個? – ottago

回答

0

花了一段時間才弄清楚,但這裏有一個解決方案。請注意,由於Groovy腳本在主服務器上運行,因此必須使用FilePath訪問從服務器上的文件。

import hudson.FilePath 

def workspace = context?.build?.workspace 

if (null == workspace) { 
    return ['noworkspace'] // avoid returning 'default' so the user has a chance of figuring out what went wrong 
} 

def configDir = workspace.toString() + '/openpower/configs/' 

def dir = new FilePath(workspace.channel, configDir) 

def files = [] 
dir.list().each { 
    def name = it.getName() 
    if (name.endsWith('_defconfig')) { 
     files << name.replace('_defconfig', '') 
    } 
} 

return files