让Jenkins在git post commit hook之后构建特定的分支

时间:2016-03-23 12:50:05

标签: git jenkins continuous-integration

我正在使用由我自己托管的Atlassian&#s; Stash。在那里我有一个git post commit hook,它会触发我的Jenkins机器。目前这适用于pull请求(每次发出/更新pull请求时,钩子将调用将构建的Jenkins)。为了实现这一点,我使用了源代码管理插件,我的名称为pr,refspec为+refs/pull/*:refs/remotes/origin/*。我还选择了从develop建立的分支。

现在我希望能够在本地创建一个发布分支,例如release/1.0,添加一些更改。然后我想将它推送到我的Stash服务器,它将触发钩子并让Jenkins构建发布分支。我的问题是每次提交时,在任何分支上运行作业。

如果我将提交推送到我的发布分支,我怎么才能做到这一点?请注意,我希望将来有更多的发布分支,因此可能有release/1.0release/1.1release/2.0等等,所以我无法在Jenkins中编写任何分支名称(I想拥有这种动态)。

2 个答案:

答案 0 :(得分:0)

为了仅在提交到您的发布分支时触发,应该将源代码管理插件中的refspec更改为+refs/pull/*:refs/remotes/origin/release/*

答案 1 :(得分:0)

好吧,我的一位同事帮我解决了这个问题。我们通过将名称字段留空来修复它,并在refspec中放入+refs/heads/release/*:refs/remotes/origin/release/*,并作为构建分支,我们放入origin/release/*