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

How to configure a global git hook in GitLab version 11.11?

我真的很困惑如何配置 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, is really confusing. It is a roadmap to implement something called Gitaly 但我真的不知道如何使用它来实现全局 Git 挂钩。

谁能告诉我在 GitLab CE 版本中 git 全局挂钩的逐步配置?

您正在 gitlab-shell 中搜索挂钩 & 因为他们正在将许多东西从 gitlab-shell 移动到 gitaly-ruby。所以这意味着钩子在 gitaly 的某个地方工作。

现在试试这个:

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

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