仅当特定分支发生更改时触发 Jenkins 作业

3
我已经配置了一个Jenkins作业,并希望当我对Github上的特定分支进行更改时,它应该被触发。
我使用Github插件并启用了“在Github推送更改时构建”选项。但是这个选项会在其他人创建并推送到另一个分支时触发我的作业。
让我以下面的方式解释一下:
Change pushed to branch "release"
Jenkins notified and job executes - Expected behavior
Another change is now pushed to branch "xyz" but I don't intend this to cause execution of my Jenkins job. The Job "xyz" is created out of the same repo though.

我如何防止推送到其他分支的更改触发我的任务?

启用“当更改被推送到Github时构建”是否不正确?

2个回答

2
在工作配置的git部分中,有一个名为“要构建的分支”的字段。您可以在此处指定哪些分支将在推送新提交时触发构建。
例如,对于我的其中一个工作,我有**/BARE-,因此只有以BARE-开头的分支才会触发构建。

我在分支中有我的分支要构建。但是每当其他人将自己的分支推送到Github时,它会再次构建我的分支。我的问题是如何仅在对我的分支进行更改时触发我的作业。 - Karthik
1
这个功能可行,我们在Jenkins上有100多个作业在使用它。它只会在提交的分支匹配时触发。请注意,Jenkins每次都会检查。如果您不将合并后的分支推送到上游(或使用其他方式),它将检测到您的分支未合并,并在其他人在另一个分支上提交时启动构建,但仅合并指定的分支。仔细阅读控制台日志的开头。它解释了Jenkins与Git的交互。 - Peter Tillemans

0

阅读关于github webhooks并添加钩子,在您的钩子中检查正在推送的分支的名称。

根据分支名称决定您想要做什么(构建或不构建)

在这里您可以阅读有关推送事件的信息,
在这里您可以阅读有关如何编写和使用github钩子的信息。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接