You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Jenkins Pipeline中Groovy findFiles无法识别.info文件问题

问题分析与解决

你遇到的问题根源是glob模式写法错误,导致无法匹配.info后缀的文件。

错误原因

你当前使用的**info会匹配**文件名末尾直接是info**的文件(比如testinfo),但你的lcov文件是.info后缀(比如coverage.info),这个模式根本匹配不到带点的后缀文件。而之前**xml能生效,大概率是你的XML文件命名刚好是不带点的(比如reportxml),或者是Jenkins路径匹配的偶然兼容,但这并不是正确的后缀匹配写法。

修正后的代码

要正确匹配所有子目录下的.info后缀文件,需要把glob模式改成**/*.info:

f = findFiles(glob: '**/*.info')
f.each { cov_file->
    println cov_file
}

额外排查建议

  • 确认文件状态:先在Pipeline里执行sh 'find . -name "*.info"',验证.info文件确实存在于工作目录及子目录,且Jenkins运行用户有读取权限。
  • 理解Jenkins glob规则:findFiles用的是Ant风格路径匹配:
    • ** 匹配任意层级的子目录
    • * 匹配任意非路径分隔符的字符
    • 匹配带点的后缀文件,必须明确写出.,比如**/*.xml、**/*.info

内容的提问来源于stack exchange,提问作者Itsme

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 21:40:24