2010-09-13 102 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