1. 程式人生 > 實用技巧 >Pipeline 中findFiles 使用glob 後,發現沒有找到需要的檔案

Pipeline 中findFiles 使用glob 後,發現沒有找到需要的檔案

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')