我有一个git存储库,在其中我在Jenkins中创建了两个不同的作业(一个用于生产代码,一个用于工具)。总是触发两个作业的地方!
我为每个作业添加了“排除区域”,以仅在每个正确的文件夹上触发。
我们的git根文件夹包含以下内容:
/src/ /tools/ /test/ /doc/ /third party/
在我在詹金斯(Jenkins)的Source工作中,我具有以下排除区域
/tools/.* /Test Projects/.* /doc/.*
在我的工具工作中,我有以下排除区域
/src/.* /Test Projects/.* /doc/.*
问题是,如果我在doc文件夹中进行更改,则会触发两个作业。我也没有任何包含区域。
此设置应该可以工作。
但是,如果您在Jenkins 中使用Gerrit触发器,则GitSCM插件中的排除/包含区域将不起作用。在Gerrit Trigger插件中,有一个添加文件路径的选项,其作用类似于包含区域,即,仅当添加的文件路径发生更改时,才会触发构建。
在作业的Gerrit触发器配置中,添加如下所示的文件路径以包含tools目录。
路径工具/ **