Jenkins Coverage插件:路径批准位置及通配符支持问询
Jenkins Coverage插件路径批准问题解决方案
我使用Jenkins的Coverage插件展示覆盖率结果,配置如下:
recordCoverage qualityGates: [[ criticality: 'NOTE', integerThreshold: 80, metric: 'LINE', threshold: 80.0]], tools: [[parser: 'COBERTURA', pattern: 'coverage_*.xml']]
由于任务在SLURM集群中运行,Jenkins工作区与实际文件存储位置不一致,插件处理文件时出现错误:
[Coverage] [-ERROR-] Errors while resolving source files on agent: [Coverage] [-ERROR-] Removing non-workspace source directory '/tmp/scratch/mydir' - it has not been approved in Jenkins' global configuration. [Coverage] [-ERROR-] - Source file 'file1.py' not found [Coverage] [-ERROR-] - Source file 'file2.py' not found [Coverage] [-ERROR-] - Source file 'file3.py' not found ... [Coverage] [-ERROR-] ... skipped logging of 105 additional errors ...
我曾在Jenkins的http://[my-jenkins-url]/manage/configureSecurity/页面的“Prism syntax highlighting”部分填写目录名称,但并未生效。
问题1:在Jenkins中哪里可以找到批准该目录的配置选项?
Coverage插件的路径批准配置不在安全设置页面,而是在全局工具配置中:
- 进入Jenkins管理页面,点击「全局工具配置」(对应路径:
/manage/configureTools/) - 找到「Coverage」板块,其中包含「Approved Source Directories」选项
- 在输入框中添加需要批准的目录(例如
/tmp/scratch/mydir),保存配置即可
问题2:路径批准是否支持通配符(不同测试的文件具体位置不同,但根路径一致)?
支持通配符。如果所有测试文件都基于同一根路径(比如/tmp/scratch/),可以直接添加/tmp/scratch/**这样的通配符路径,就能匹配该根路径下的所有子目录及文件,无需逐个添加具体子目录。
内容的提问来源于stack exchange,提问作者Pepijn B.
相关产品推荐
相关产品推荐

