【问题标题】:Gitlab does not automatically run post-receive hookGitlab 不会自动运行 post-receive 钩子
【发布时间】:2017-12-07 15:07:18
【问题描述】:

Gitlab 本地托管在我的服务器上。当我推送提交时,接收后挂钩不起作用。我创建了钩子 git:git 的所有者并使其可执行。当我手动执行文件时,它可以工作。

【问题讨论】:

  • 所有者应该是当前用户,但重要的是使用chmod 755使其可执行。
  • 我已经使文件可执行

标签: gitlab githooks


【解决方案1】:

只要将自定义post-receive 放在repo 的custom_hooks 目录中,并且该目录和文件都归git 所有,GitLab 就会执行该自定义post-receive。另外,请确保您的钩子期望在标准输入上输入,而不是通过标准参数 - 我这么说是因为您提到手动运行脚本并且它有效。

不幸的是,自定义post-receive 错误并不容易调试。 pre-receive 错误将被发送回客户端。我建议在你的钩子中添加很多你自己的日志,这样你就可以准确地看到发生了什么。将第一个日志直接放在 shebang 之后,这样你就知道你的钩子被执行了。

https://docs.gitlab.com/ee/administration/custom_hooks.html#custom-git-hooks 的文档有一些有用的步骤,如果您还没有看过的话。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-02
    • 2017-10-19
    • 2010-11-24
    相关资源
    最近更新 更多