我有一个多配置构建,我希望为每个匹配的文件运行一个构建foo/*/bar/*.xml
。我认为 GroovyAxis 插件非常适合,但我找不到任何关于如何从脚本中访问构建配置的文档,因此我无法从任何地方读取工作区目录。
运行类似return new File('.').listFiles().collect{it.toString()}
返回服务器根目录中的所有文件。
谁能指出我正确的方向?
我有一个多配置构建,我希望为每个匹配的文件运行一个构建foo/*/bar/*.xml
。我认为 GroovyAxis 插件非常适合,但我找不到任何关于如何从脚本中访问构建配置的文档,因此我无法从任何地方读取工作区目录。
运行类似return new File('.').listFiles().collect{it.toString()}
返回服务器根目录中的所有文件。
谁能指出我正确的方向?
解决这个问题需要一段时间,但这里有一个解决方案。请注意,由于 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