5

我已经启动了一个 GitHub Enterprise (11.10.272) 实例并创建了一个存储库。我已经在 Ruby 中编写了一个预接收挂钩,我想将它与该存储库一起使用。

GitHub Enterprise 与常规 GitHub 一样,允许配置服务挂钩。我尝试通过 SSH 连接到 GitHub Enterprise 服务器以创建挂钩文件,但找不到 repo 目录。此外,GitHub Enterprise 的条款禁止修改 VM,所以我不确定这是一个很好的方法。

似乎 GitHub:FI 支持钩子。根据Migrating from GitHub:FI ,FI 到 Enterprise 迁移工具的当前版本目前不支持挂钩。

4

3 回答 3

5

我知道这真的很老了,但 GitHub Enterprise 2.6 刚刚推出了预接收挂钩。可以在此处了解更多信息:https ://help.github.com/enterprise/admin/guides/developer-workflow/using-pre-receive-hooks-to-enforce-policy/ 。

我相当肯定这将与您正在寻找的东西完全一致。希望这可以帮助 OP,或者以后偶然发现此问题的任何其他人!

于 2016-04-27T17:00:32.110 回答
3

根据我与 GitHub 客户支持的电子邮件,截至 2013 年 5 月,GitHub Enterprise 不支持预接收挂钩。

我们的 GHE 盒子没有管理员访问权限,因此如果我们愿意,我们无法进入并“修复”这个问题。

他们声称如果您可以拒绝提交,他们所做的事情就会中断。我认为它们的意思是自动合并拉取请求,但我不确定。

他们有一组广泛的提交后 webhook,您可以将其用于提交后功能。

我正在研究构建一个“直通 git 服务器”——基本上,经常轮询 GHE API 以对某些 GHE 帐户上存在的任何 repo 进行本地克隆,然后使用自定义预接收和自动克隆它接收后挂钩。这将让我们克隆直通服务器,在那里执行我们的预接收挂钩,并将批准的更改推送到 GHE。那里似乎还没有任何标准的 git 直通服务器,可能是因为您需要知道要克隆的存储库,这似乎没有标准的 git API。

于 2013-05-02T15:44:07.787 回答
2

GitHub Enterprise 似乎将存储库存储在/data/repositories. 每个存储库都有由模板生成的钩子。我可以修改这些钩子,但这肯定会破坏一些东西。模板钩子似乎在另一个位置寻找钩子,但该位置是在配置中定义的,我找不到它。

于 2012-07-08T17:28:58.130 回答