如何在GitLab版本11.11中配置全局git钩子?

时间:2019-06-17 21:41:52

标签: git gitlab githooks gitlab-ce

我真的很困惑如何配置GitLab全局挂钩。有关how to set a global hook的文档很清楚。因此,我登录了我的GitLab实例,转到目录/opt/gitlab/embedded/service/gitlab-shell/hooks,它具有3个文件:

-rwxr-xr-x 1 root root 131 Jun 10 16:22 post-receive
-rwxr-xr-x 1 root root 131 Jun 10 16:22 pre-receive
-rwxr-xr-x 1 root root 131 Jun 10 16:22 update

所有文件具有相同的内容:

# cat pre-receive
#!/bin/sh
echo "The gitlab-shell hooks have been migrated to Gitaly, see https://gitlab.com/gitlab-org/gitaly/issues/1226"
exit 1

由于它们都有一个exit 1,因此显然这些钩子不再执行了。

linked issue确实令人困惑。这是实现名为Gitaly的东西的路线图,但我真的不知道如何使用它来实现全局Git挂钩。

有人可以在GitLab CE版中向我展示git全局钩子的逐步配置吗?

1 个答案:

答案 0 :(得分:0)

您正在gitlab-shell内搜索钩子,并且由于它们将许多东西从gitlab-shell移到gitaly-ruby。因此,这意味着钩子在gitaly的某个地方起作用。

现在尝试:

ls /opt/gitlab/embedded/service/gitaly-ruby/git-hooks

希望您在那里找不到任何exit nonzero。休息是你的艺术。