我想仅在对特定子目录中的文件进行更改时才使用 Gerrit Trigger 触发 Jenkins 构建。例如。。。
├── subdir1
│ ├── trigger
│ ├── also-trigger
├── subdir2
│ ├── do-not-trigger
如果对subdir1中的文件进行了任何更改,我想触发构建。
检查 Jenkins 项目配置中的Gerrit event
。在 Gerrit 设置中,Add File path
path
subdir1
(当然,您应该设置项目和分支模式)。然后subdir1
中的任何更改都将激活 Jenkins,而来自subdir2
的更改将被 Jenkins 忽略。
当您选择"Ref Update"作为触发事件时,Gerrit 触发器插件会出现意外行为。它不关心文件路径选项。但是,如果你有一个 UI 拉取请求的方式来做事,这意味着你将通过 UI 合并更改。因此,您可以尝试在"触发"部分使用"更改合并"。
查看作业的参数,当触发更改合并时,有关于触发生成的变更集的信息。相反,当您使用 ref-updated 时,没有关于变更集的信息,因此无法检查文件包含。https://bugs.chromium.org/p/gerrit/issues/detail?id=2483