2013-12-12 21 views
3

我遇到了設置Github和Jenkins CI的問題。Jenkins和Github使用分叉公開提交

當分叉PR提交更改時,即使我已經從分叉repo接受PR,github也不會通知jenkins。只有當我將一個pr從分叉回購合併到master時,github纔會觸發Jenkins。

所以憑證和能力在那裏,但我找不到github中的選項來強制所有提交到原始回購(包括分叉公關)的觸發CI,任何人有任何建議嗎?

回答

2

的解決方案是使用Github Pull Request Builder Plugin

裏有鏈接指令上面爲我工作。除了默認說明我有要做到這一點:

"This build is parameterized" and add string parameter named "sha1". When starting build give the "sha1" parameter commit id you want to build or refname (eg: "origin/pr/9/head"). 

我沒有使用github hooks

+0

+1。你之前使用了我在[我的回答](http://stackoverflow.com/a/20541995/6309)中推薦的輪詢方法。 – VonC

+1

應該注意的是,使用Github Pull Request Builder Plugin不會強制您使用輪詢。它也適用於鉤子。如果你允許它自動創建鉤子,請轉到你的github賬戶,並確保在鉤子的回調URL是正確的,我起初已經被這種阻礙了......這些插件的文檔真的很糟糕 – Joakim

0

一個post-receive hook in GitHub將張貼到任何監聽服務任何收到提交。
它不限於特定的分支。

但是,Jenkins可以設置爲監視特定的分支。
除非如「How can I make Jenkins CI with git trigger on pushes to master?」中提到的那樣,您將Jenkins配置項從GitHub配置爲Poll(在這種情況下,它將偵聽所述Github鉤子,而不是在特定分支上執行git pull。
提到的GitHub pull request builder pluginOP Coombesyanswer是另外一個方法,使詹金斯調查GitHub上。