如何配置Jenkins仅对特定文件类型的Git提交触发构建?
Jenkins 仅特定文件类型提交触发构建配置
Jenkins完全支持仅针对特定文件类型(如.py、.tf)的提交触发构建,以下是两种常用配置方案:
一、Freestyle 项目配置
- 进入目标项目的「配置」页面,找到「源码管理」模块下的Git配置区
- 展开「Additional Behaviours」,点击「Add」并选择「Polling ignores commits in certain paths」
- 在配置框的「Include」栏中填写路径规则:
**/*.py:匹配所有目录下的.py文件**/*.tf:匹配所有目录下的.tf文件
- 保存配置后,后续只有这些类型的文件发生变更时,才会触发构建(无论使用Poll SCM还是Webhook触发,该规则均生效)
二、Pipeline 项目配置(Jenkinsfile)
在Jenkinsfile中通过when条件结合changeset指令过滤变更文件,示例如下:
pipeline { agent any triggers { pollSCM('H/5 * * * *') // 保留原有触发方式,如Webhook可替换为对应配置 } stages { stage('Build') { when { anyOf { changeset pattern: '**/*.py', comparator: 'REGEXP' changeset pattern: '**/*.tf', comparator: 'REGEXP' } } steps { // 执行你的构建逻辑 echo '仅在.py或.tf文件变更时执行构建' } } } }
如果需要跳过整个Pipeline而非单个阶段,可将when块移至pipeline层级下。
补充提示
若使用Git平台的Webhook触发,可在平台侧(如GitHub、GitLab)额外配置文件路径过滤,减少不必要的请求发送至Jenkins,实现双重过滤,进一步优化效率。
内容的提问来源于stack exchange,提问作者Perry Hoekstra
相关产品推荐
相关产品推荐

