2013-08-12 2 views
1

У меня есть сборка с несколькими конфигурациями, для которой я бы хотел, чтобы была построена одна сборка для каждого файла, соответствующего foo/*/bar/*.xml. Я полагал, что плагин GroovyAxis был бы неплохим, но я не могу найти никакой документации о том, как можно настроить конфигурацию сборки внутри скрипта, поэтому я не могу читать каталог рабочей области из любого места.Переменная конфигурация проекта привязана к плагину оси groovy для jenkins

Выполнение чего-то вроде 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 
Смежные вопросы