2010-09-13 122 views
6

我想知道如何編寫Git的預提交鉤子來檢查我的Hudson構建的狀態。如果以前的構建失敗,它應該不允許任何人在沒有首先寫入特定行的情況下提交,例如「修正版」。Hudson構建失敗時Git的預先提交鉤子

編輯:

第一回答者提供了硬幣的一側:哈德森API。

我現在需要另一邊。 如何在Git中編寫預提交鉤子?

+0

只想到一個有趣的用例。假設Hudson失敗。兩位開發人員正在研究代碼,其中一位正在修復,另一位正在開發下一個功能。在你的情況下,修復開發者需要首先檢查代碼。第二個開發者必須等到Hudson成功重建。不確定這是否會成爲您的問題(高度依賴於構建時間)。 在我看來,你最好給項目負責人一個監視器,它始終顯示最新的構建狀態。如果構建在較長時間內被破壞,他將變得活躍。 – 2010-09-13 14:49:08

+0

目前的構建時間非常短(大約幾分鐘),所以不應該成爲一個問題。 – 2010-09-13 19:05:06

+0

只是一個評論(不知道它是否可以適用於您的情況):另請參閱http://stackoverflow.com/questions/3209208/what-is-the-cleverest-use-of-source-repository-that-you -have-ever-seen/3209767#3209767 – VonC 2010-09-13 19:34:38

回答

2

正如在blog post中提到的,Hudson通過其Remote Access API有一個可發現的API。

http://myhudson.example.com/job/MyJob/api 

通過使用組合:

    • wget的(在Unix或Windows可用)解析

    您可以提取最新版本的狀態。

  • +1

    非常好的是Hudson對XPath的支持。我用它來查詢工件名稱以在第二步中下載特定的工件。在你的情況下,單個wget調用應該給你正確的信息。 – 2010-09-13 14:43:15

    +0

    非常感謝。我已經編輯了我的問題,現在反映我現在只是在尋找如何在'Git'中編寫預提交鉤子。隨意編輯你的答案。 – 2010-09-13 19:19:57