Gitlab在我的服务器上本地托管。当我推送提交时,后接收挂钩不起作用。我创建了钩子git:git
的所有者并使其可执行。当我手动执行文件时,它可以正常工作。
答案 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处的文档如果您还没有看到它们,则会提供有用的步骤。