2012-04-04 102 views
5

我使用jenkins,我希望我的測試在每次提交後自動運行。在每次提交後自動運行Jenkins測試(更改)

我也跟着在下面的鏈接中的說明:

http://blog.cloudbees.com/2012/01/better-integration-between-jenkins-and.html

我點擊了全球configuearion/Githup網絡掛接讓詹金斯自動管理掛鉤的URL和我說我的用戶名和密碼githup但還是之後變化和推動回購,我的測試不運行!

Github Hook Log:Polling尚未運行。

有什麼我忘了?

P.S.我可以手動運行我的測試(現在單擊Build),當我構建測試時,我可以看到我的提交(更改)。

回答

2

我會首先檢查post-receive URL是否真的由Jenkins設置。轉到github.com/YOURNAME/REPO/admin/hooks並打開接收後郵件地址

如果沒有任何東西,您可以按照上面關於如何自己安裝掛鉤的說明進行操作。

如果鉤子在github.com中,請嘗試單擊測試鉤按鈕。它是否觸發構建?

如果構建仍不起作用,請檢查github和您的Jenkins之間是否存在可能阻止github.com連接到您的jenkins的防火牆。調試github上的鉤子

更多信息在http://help.github.com/post-receive-hooks/

+0

我有http:// localhost:8080/github-webhook /在Post-Receive URL中,但是當我單擊Test Hook時,它不會構建我的測試!我應該運行「gem install hook」嗎? – Shahrzad 2012-04-04 21:54:10

+0

我認爲你提到的問題應該是關於防火牆!當我點擊Github Web Hook/Override Hook URL時,它說:「如果你的Jenkins在防火牆內部運行,並且不能從互聯網直接訪問,請設置反向代理,端口隧道等,以便GitHub可以將POST請求傳遞給你的Jenkins在http:// localhost:8080/github-webhook /中,然後指定GitHub應該發佈到這裏的URL。「那麼解決方案是什麼? – Shahrzad 2012-04-04 22:11:10

+5

您配置到Post-Receive URL中的地址不能有主機名** localhost **。如果你告訴Github通知**本地主機**,它會嘗試通知自己。你的詹金斯可能在你的電腦上運行,而不是Github的。你需要讓你的Jenkins可以從Github訪問。您需要爲您的計算機提供外部可訪問的DNS名稱或IP地址。您需要詢問您的ISP或網絡管理員。 – sti 2012-04-05 20:08:03

1

我有同樣的問題來解決,我添加一個投票SCM構建觸發器,並安排它每2分鐘H/2 * * * *

相關問題