Gitlab不会自动运行post-receive hook

时间:2017-12-07 15:07:19

标签: gitlab githooks

Gitlab在我的服务器上本地托管。当我推送提交时,后接收挂钩不起作用。我创建了钩子git:git的所有者并使其可执行。当我手动执行文件时,它可以正常工作。

1 个答案:

答案 0 :(得分:0)

GitLab将执行自定义post-receive,只要它放在repo的custom_hooks目录中,目录和文件都归git所有。另外,确保你的钩子期望在stdin上输入,而不是通过标准args - 我说这是因为你提到手动运行脚本并且它有效。

不幸的是,自定义post-receive错误并不容易调试。 pre-receive错误将被发送回客户端。我建议您在钩子中添加许多自己的日志记录,这样您就可以确切地看到发生了什么。将第一个日志直接放在shebang之后,这样你就知道你的钩子被执行了。

https://docs.gitlab.com/ee/administration/custom_hooks.html#custom-git-hooks处的文档如果您还没有看到它们,则会提供有用的步骤。