2010-09-21 93 views
2

我有一個服務器,服務於「中央」Mercurial存儲庫;該團隊克隆它並通過ssh將其更改推送給它。 Hudson安裝在同一臺服務器上(RHEL 5.5)。我希望每當有人推到中央Mercurial存儲庫時觸發Hudson構建。我也希望在推送時發送通知郵件。Mercurial更改組掛鉤未觸發; Linux

在項目名/ .hg/.hgrc有以下幾點:

[hooks] 
changegroup.hudson = wget http://Server.Name:8080//job/Project_Name/builds?delay=0sec >&2 

如果我使用的膩子ssh到這臺服務器,然後發出wget命令,構建成功觸發,所以我不我認爲這是一個權限問題。

另一個鉤子:

changegroup.notify = /the/path/.hg/hooks/notify 

其中通知是:

dest='comma separated list of email addresses' 
repo="path/to/repository/" 
subject="New changesets in $repo" 

hg glog -l 10 -r $HG_NODE: | mail -s "$subject" $dest 

當我從shell中運行./notify直接,當我在中央資料庫的路徑將郵件發送正確;如果我從我的主目錄執行通知,找不到存儲庫,我收到一封空郵件,但至少我收到一封電子郵件。我假設這些鉤子只是沒有運行。

有什麼可以阻礙的嗎?我應該檢查什麼?

回答

5

運行cd ProjectName; hg showconfig|grep hooks

我敢打賭,你沒有看到你的鉤子,如果這是你有什麼:

在項目名/ .hg/.hgrc有以下幾點:

庫無廣告hgrc是.hg/hgrc

+0

美麗!你釘了它。謝謝。 – jasper77 2010-09-22 17:06:08

+0

現在,每當我在我的個人克隆中執行「hg incoming」時,我會收到一條消息:「不信任來自不可信用戶的文件/路徑/ hgrc,將我組織起來」。我在我的個人本地帳戶中添加了一個「[可信]」部分,允許所有用戶和所有羣組,但我仍然收到此消息。鉤子仍然不起作用。 – jasper77 2010-09-27 17:56:09

+0

我無法編輯以前的註釋,因此:在存儲庫範圍的hgrc和.hgrc中添加了[trusted]部分,但仍然存在此問題。 – jasper77 2010-09-27 18:06:26