我的設置是一個Windows XAMPP服務器,啓用了cURL,並安裝了Git和Hudson。 Hudson每分鐘輪詢Git以尋找變化,如果發現它們,它會創建一個構建。我使用這個版本作爲我的測試服務器。這工作正常。Git後接收鉤不工作
我想設置一臺運行哈德森的力構建功能在我中心遠程倉庫後收到鉤。
我已經創建了一個叫做在鉤子目錄在我中心Git倉庫「後收到」後,收到文件,也就是從開發者的本地分支推到了一個。他們每個人都推送到中央存儲庫上的自己的分支。我希望在每次推送後立即運行post-receive構建,而不是讓Hudson每分鐘輪詢一次Git。
當我打開一個shell到遠程服務器,並運行在鉤子文件夾「後接受」,它運行。當人們將其從本地存儲庫副本推送到中央存儲庫副本時,它不會被調用。
也許我沒有解釋這個權利,但這是我理解Git的方式。
的,收到後置代號爲兩行:
#!/bin/sh
curl http://myserver.com:8080/hudson/job/myjobname/build?token=mytoken
同樣,當我打開一個外殼並運行此,它的工作原理,但是當有人推它,什麼都不會發生,直到一分鐘就少了哈德森意識到Git已經改變了,然後它就建立起來了。
我很高興澄清是否需要。任何幫助是極大的讚賞。
編輯:玩弄之後,我覺得也許後收到沒有執行,因爲裁判沒有被更新的東西嗎? git文檔說
它在所有ref已更新後在遠程存儲庫上執行一次。
這是否意味着,如果沒有更新,它不會執行?如果是這樣,我很確定事情正在更新,所以它不應該適用。
這裏是我的過程: 製作本地編輯。 提交修改。 從我的HEAD推送到名爲'mybranch'的遠程分支(不是主分支,這是檢出) 這是我希望我的鉤子執行的點。
Git進程正在運行時,用戶有權執行該腳本? – jweyrich 2011-02-09 21:51:11
不確定。它在我通過Git Bash運行時執行它,但當我推送它時它不執行它。我將如何檢查這些權限? – spanky 2011-02-09 21:52:55
正確的權限取決於您共享存儲庫的方式以及實際配置。但是,msquared的告訴你爲所有用戶/組提供可執行權限的方式,所以如果問題確實如此,它應該可以工作。 – jweyrich 2011-02-09 21:58:12