Pipeline 中findFiles 使用glob 后,发现没有找到需要的文件
首先上例子:
编译之后生成了pom文件,想要直接搜索到pom文件的路径,所以Pipeline中定义如下:
def pomPath = findFiles(glob: '**/'+sdkName+'/pom-default.xml')
使用之后,发现找不到文件,懵了,经过官网查找,发现这个是需要匹配特定的模式的
官网: https://www.jenkins.io/doc/pipeline/steps/pipeline-utility-steps/
Ant style pattern: https://ant.apache.org/manual/dirtasks.html#patterns
让我们看一下我使用的模式能够匹配到什么?
很明显,我们使用的是第一种,它主要查找的是CVS/XX 这样的模式的文件,所有如果你的路径下有 XX/XX/XX/sdkName/pom-default.xml 就可以查找出来,但是如果是XX/XX/XX/sdkName/pom/pom-default.xml 就无法查找
所以我们想要找到pom-default.xml 文件,可以有以下几种方法
1. def pomPath = findFiles(glob: 'sdkName/**/poms/pom-default.xml')
2. def pomPath = findFiles(glob: 'sdkName/**/pom-default.xml')