Jenkins Git插件包括不起作用的地区

时间:2013-10-28 15:07:45

标签: git jenkins

我无法使用Git插件在Jenkins中使用“包含区域”功能。我希望只有在“他的”目录中发生更改时才能构建作业。示例:仅当GIT_ROOT/tools/mytool/下有更改时,才应构建项目mytool。我在包含的区域字段中为正则表达式尝试了几种形式:

 /tools/mytool/.*
 tools/mytool/.*
 ^tools/mytool/.*

对于这些正则表达式中的任何一个,结果都是相同的:每次提交更改时都会构建mytool - 无论在何处。我也以同样的方式尝试了被排除的区域 - 也没有工作。我做错了什么?

4 个答案:

答案 0 :(得分:5)

对我来说,它在作业配置中的“源代码管理 - 附加行为”下检查“使用工作区强制轮询”时开始工作。闻起来就像一个bug - 有几个关于git插件的包含/排除区域功能的公开。

编辑:更新jenkins和git插件后它停止了工作。原因可能是:

https://issues.jenkins-ci.org/browse/JENKINS-20607

我正在考虑转向这种方法here

答案 1 :(得分:5)

我刚遇到这个问题,答案与其他答案略有不同。话虽这么说,解决方案在于问题本身。对我来说,我在"包含的地区"使用模式:

service/Search/AbstractSearchServices/master/**/*

我将模式更改为:

service/Search/AbstractSearchServices/master/.*

一旦我改变了这种模式,它对我来说非常有效。

答案 2 :(得分:0)

为其他访问此站点的人提供一条便条,因为他们像我一样遇到float的问题:

我也遇到了路径模式included-regions的问题,该路径模式不能用作tools/mytool/.*。 原因是我确实在git scm设置中启用了included-region选项。禁用该选项后,shallow clone参数将按预期工作。

答案 3 :(得分:-1)

确保在Build Trigger Poll SCM下检查,或者你有其他方式让Jenkins知道有变化。

您目前只是定义了这些区域,但Jenkins仍然需要在更新之前提取更新。