首页 > 解决方案 > 如何在 GitLab 11.11 版中配置全局 git 挂钩?

问题描述

我真的很困惑如何配置 GitLab 全局挂钩。该文档清楚地说明了如何设置全局钩子。所以我登录我的 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,显然这些钩子不再被执行。

链接的问题,真的很混乱。这是一个实现名为Gitaly的路线图,但我真的不知道如何使用它来实现全局 Git 挂钩。

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

标签: gitgitlabgithooksgitlab-ce

解决方案


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

现在试试这个:

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

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


推荐阅读