git - 如何在 GitLab 的服务器端添加预接收 Hook ?

标签 git gitlab githooks

我正在尝试限制在我们的 gitlab 中提交的二进制文件(EXE、DLL、PDF)。所以我需要添加钩子(Hook)来全局限制它。我怎样才能做到这一点? Pre-receive hook 适用于此吗?

这个地方添加钩子(Hook)是否正确?

/opt/gitlab/embedded/service/gitlab-shell/hooks/pre-receive

任何帮助表示赞赏!

最佳答案

正如我所说,对于每个项目,使用 custom hooks : ( Chained hooks support )
请参阅“How can I add hooks to gitlab?”中的确切步骤,并涉及创建专用 repo.git/custom_hooks 子文件夹。

但这是针对每个存储库的,并非针对所有存储库。
您需要为组的每个 repo 添加该脚本。

您在普通 repo.git/hooks 文件夹中看到的 pre-receive 脚本实际上是 gitlab-shell hook 的符号链接(symbolic link)>文件夹,GitLab拿来管理访问权限。

关于git - 如何在 GitLab 的服务器端添加预接收 Hook ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45931921/

相关文章:

git - Git Grep颜色选项说明和/或比较

windows - 配置 git 以支持使用不同操作系统的程序员

gitlab - Gitlab-CI 又名管道依赖项中的上游触发

ruby - Git 提交消息的正则表达式

Git fetch/pull 已停止工作

merge 后的 Git squash 历史记录

git - 如何审查 merge 提交以检测不正确的大块头

docker - 如何处理 Docker 登录到具有多个并发作业的 Gitlab 容器注册表?

git - 在 Git 中运行预提交 Hook 。有没有办法验证脚本是否正在运行?

git - Husky 钩子(Hook)未在 Lerna monorepo 中运行