Jenkins Gerrit Trigger 插件的“禁止文件路径”的准确使用

Rom*_*man 5 jenkins gerrit-trigger

Jenkins Gerrit 触发器插件有一个按钮“添加禁止文件路径”,但实际上没有太多可用的文档。
那么它的确切行为是什么?

  • 是否抑制触发,如果一个改变的文件相匹配?
  • 或者如果所有更改的文件都匹配,它是否会禁止触发器?
    (换句话说:只有匹配的文件发生了变化)
  • 我想它“覆盖”了“添加文件路径”的匹配项,不是吗?
  • 它仅适用于目录名还是适用于文件名?

如果
“文件路径”=^((?!_abc)(?!_def).)*$
行为等于:
“禁止文件路径”= ^.*_abc$|^.*_def$

Rom*_*man 2

根据文档,我的需求应该使用插件的 V2.16.0 来满足(请参阅JENKINS-30620 ) -应使用新选项“禁用严格禁止文件验证”。
帮助里说:

  • 如果事件同时包含一个或多个所需文件路径和一个或多个
    禁止文件路径,则启用此选项将允许该事件触发构建。
  • 换句话说,使用此选项,如果更改仅包含禁止的文件,则不会触发构建,否则将触发构建。

所以我花了一天的时间进行测试,但它似乎在我的网站上不起作用

但至少我通过“添加文件路径”参数让它工作,这要归功于JENKINS-19891中发布的信息:

但是,由于提交始终包含COMMIT_MSG文件,因此它将匹配正则表达式并触发构建。

因此,我将提交消息文件添加到我的正则表达式中,最终给出了正确的结果。

示例: ^((?!\/COMMIT_MSG|cunit|_abc|_def[\/\.]).)*$
...忽略名称(包括路径)包含“cunit”、“_abc”、“_def”中任何一个的文件的更改。或“_def/”