触发Jenkins构建基于新的GitHub版本或提交到主分支

时间:2017-06-20 01:33:02

标签: git github jenkins

我意识到在hereherehere之前已经问过这个问题,但这些解决方案似乎都没有适用于我的Jenkins设置,我无法弄清楚这是为什么。

我的目标是在对master分支进行新提交时,或者在任何标记(或GitHub,一个版本)中添加到repo时触发Jenkins构建。这是我目前的设置:

enter image description here

当我对master分支进行新的提交时,会触发新的构建。但是当我添加一个新的GitHub版本时,没有任何反应。

查看我的“Git Polling Log”会显示以下输出:

Started on Jun 20, 2017 1:25:00 AM
Polling SCM changes on master
Using strategy: Default
[poll] Last Built Revision: Revision 035c0f46422616b1862376b79c43b2562dc66f93 (origin/master)
 > git rev-parse --is-inside-work-tree # timeout=10
Fetching changes from the remote Git repositories
 > git config remote.origin.url git@github.com:some-org/sample-app-frontend.git # timeout=10
Fetching upstream changes from git@github.com:some-org/sample-app-frontend.git
 > git --version # timeout=10
using GIT_SSH to set credentials GitHub SSH Key
 > git fetch --tags --progress git@github.com:some-org/sample-app-frontend.git +refs/heads/*:refs/remotes/origin/* +refs/tags/*:refs/remotes/origin/tags/*
Polling for changes in
Seen branch in repository origin/master
Seen branch in repository origin/tags/stage-v0.0.1
Seen branch in repository origin/tags/stage-v0.0.2
Seen branch in repository origin/tags/stage-v0.0.3
Seen branch in repository origin/tags/v0.0.4
Seen branch in repository origin/tags/v0.0.5
Seen branch in repository origin/tags/v0.0.6
Seen branch in repository origin/tags/v0.0.7
Seen 8 remote branches
 > git tag -l # timeout=10
 > git rev-parse refs/tags/stage-v0.0.2^{commit} # timeout=10
 > git rev-parse refs/tags/v0.0.7^{commit} # timeout=10
 > git rev-parse refs/tags/stage-v0.0.1^{commit} # timeout=10
 > git rev-parse refs/tags/v0.0.6^{commit} # timeout=10
 > git rev-parse refs/tags/v0.0.5^{commit} # timeout=10
 > git rev-parse refs/tags/v0.0.4^{commit} # timeout=10
 > git rev-parse refs/tags/stage-v0.0.3^{commit} # timeout=10
Done. Took 0.2 sec
No changes

请注意,我每分钟使用一次git轮询。因此看起来git正确地检测到了新的分支,但不知何故,Jenkins正在进行的git轮询并不认为新的分支有资格作为“更改”,因为它始终在底部报告“无变化”。

1 个答案:

答案 0 :(得分:1)

我已经搜索了一段时间,并且能够找出从git hub释放标签时触发jenkins作业的解决方案。这是屏幕截图。从提供git存储库的位置选择高级选项,然后按以下方式配置详细信息。因此,当标记了release时,就会触发jenkins作业。

enter image description here