Jenkins管道阶段循环遍历目标目录的子目录



我想遍历一个文件夹的内容,该文件夹将包含一堆子目录,以便我可以在每个目录上运行shell命令。

我只是想证明我可以访问目录的内容,到目前为止有这个:

stage('Publish Libs') {
when {
branch productionBranch
}
steps {
echo "Publish Libs"
dir('dist/libs') {
def files = findFiles() 

files.each{ f -> 
if(f.directory) {
echo "This is directory: ${f.name} "
}
}
}
}
}

但是得到这个错误

org.jenkinsci.plugins.workflow.cps.CpsCompilationErrorsException: startup failed:
/var/lib/jenkins/jobs/al-magma/branches/master/builds/5/libs/o3-app-pipeline/vars/magmaPipeline.groovy: 178: Expected a step @ line 178, column 25.
def files = findFiles() 

这里的正确语法是什么?

你的代码工作得很好,谢谢!只需要将其包含在script块中:

stage('Iterate directories') {
steps {
script {
dir('mydir') {
def files = findFiles() 

files.each { f -> 
if (f.directory) {
echo "This is a directory: ${f.name}"
}
}
}
}
}
}

最新更新