我使用 GitLab 社区版 8.2 并想添加提交后钩子。
我创建了具有权限的文件 path_to_project.git/custom_hooks/post-commit
$ ls -l1 custom_hooks/post-commit
-rwxr-xr-x 1 git git 45 Dec 14 21:31 custom_hooks/post-commit
和内容
#!/bin/bash
echo "test custom" > /tmp/hook
如下所述:http://doc.gitlab.com/ce/hooks/custom_hooks.html
但它不起作用(通过 Web 界面提交检查)。我也尝试了“正常”的 git 钩子放置(project.git/hooks/post-commit),但它也不起作用。
答案1
post-commit
是客户端钩子,你无法在服务器上实现它。
根据 Gitlab 文档:http://doc.gitlab.com/ce/hooks/custom_hooks.html,你可以实现一个服务器端服务器上的自定义钩子(pre-receive
,post-receive
, )。and update
服务器端 git hooks 的示例包括 pre-receive、post-receive 和 update。请参阅Git SCM 服务器端钩子了解有关每种钩子类型的更多信息。
如果您想要自定义客户端钩子,则需要更改原始钩子代码或将自定义脚本放在客户端下.git/hooks
。在此处阅读更多信息:什么是 Git 钩子?
以下是有关自定义钩子的全部内容:自定义 Git - Git Hooks