Gitlab 服务器挂钩版本 16.1

hes*_*lar 5 git hook gitlab gitlab-ci

与此问题相关 服务器挂钩不起作用

我正在尝试在 gitlab 中创建一个服务器挂钩。目标是创建一个当任何用户按下时都会触发的钩子。我们尝试了几件事:

  1. 取消注释自定义钩子目录行

遵循官方文档:指南

转到 gitlab.rb(配置文件),然后取消注释该行:

gitaly['配置'][:hooks][:custom_hooks_dir]='var/opt/gitlab/gitaly/custom_hooks'

这是应该放置服务器挂钩的文件夹。

按照指南:创建文件夹 pre-receive.d :absolute( var/opt/gitlab/gitaly/custom_hooks/pre-receive.d)

https://docs.gitlab.com/ee/administration/server_hooks.html#create-the-global-server-hook

然后使用 shebang 添加脚本,例如:

var/opt/gitlab/gitaly/custom_hooks/demohook

#!/bin/sh
echo "GL-HOOK-ERR: My custom error message.";
exit 1
Run Code Online (Sandbox Code Playgroud)

然后gitlab重新配置,失败表示它已弃用(尽管在官方指南中)。

2.在文件中添加gitaly配置发现第一种配置方式可能已经过时,尝试在gitlab.rb中添加:

gitaly['configuration'] = {
  hooks: {
    # gitaly['custom_hooks_dir']
    custom_hooks_dir: '/var/opt/gitlab/gitaly/custom_hooks'
  }
Run Code Online (Sandbox Code Playgroud)

}

什么都不起作用。欢迎任何帮助。

Von*_*onC 2

正如评论所述,问题是文件夹的权限问题/var/opt/gitlab/gitaly/custom_hooks

OP 确认:

查看论坛我们得出的结论是这是一个权限问题。由于该目录没有足够的容量,该错误甚至不会出现在日志中。chmod修复了目录命令的问题。