我正在尝试在jenkins上列出包含某个文件的文件夹,然后使用此数组。
我读到了findFiles
,但在这种情况下我无法找到使用它的方法。
最终结果是我需要在循环中cd到那些文件夹并执行一些操作。
我只有一个jenkins,一切都在运行
用例:
我有一个工作区,我有包。我需要在某些文件夹中运行一些命令,我无法从y工作区的根目录执行此操作。它们可能位于子文件夹或子文件夹中。我可以识别包的方式是它包含package.xml
(在ROS上)。此外,我没有任何命令列出他们的路径
答案 0 :(得分:1)
如果没有其他工作,那么您可以尝试运行正常的linux命令,如:
folders = sh(
script: "locate myfile",
returnStdout: true
)
然后拆分它以形成一个数组并使用如下的值:
folders.split("\n")[1]
答案 1 :(得分:0)
您可以使用一些groovy来找到正确的文件夹:
import java.io.File
def yourStartingDirectory = '.' // doesn't have to be the current directory
def matchingDirectories = []
new File(yourStartingDirectory).traverse(
type: groovy.io.FileType.FILES,
nameFilter: ~/yourCertainFileName/
) { file ->
matchingDirectories << file.parent
}