gitlab custom_hook 生效脚本,一直没法执行

gitlab custom_hook 生效脚本,一直没法执行,

https://www.kancloud.cn/apachecn/gitlab-doc-zh/1949098
安官方文档操作的

Create a server hook for a repository
如果您不使用哈希存储 ,则项目的存储库目录可能与以下说明不完全匹配. 在这种情况下:

对于从源进行的安装,路径通常是/home/git/repositories//.git .
对于 Omnibus GitLab 安装,路径通常为/var/opt/gitlab/git-data/repositories//.git .
请按照以下步骤为存储库设置服务器端挂钩:

导航到" 管理"区域>"项目" ,然后单击要向其添加服务器挂钩的项目.
在出现的页面上找到Gitaly 相对路径 . 这是必须实现服务器挂钩的地方. 有关解释相对路径的信息,请参阅翻译哈希存储路径 .
在文件系统上,在此位置创建一个名为custom_hooks的新目录.
在新的custom_hooks目录中,创建一个名称与钩子类型匹配的文件. 例如,对于预接收钩子,文件名应该是pre-receive ,没有扩展名.
使挂钩文件可执行,并确保它由 Git 用户拥有.
编写代码以使服务器挂钩功能按预期方式运行. 挂钩可以使用任何语言. 确保顶部的" shebang"正确反映语言类型. 例如,如果脚本在 Ruby 中,则 shebang 可能是#!/usr/bin/env ruby .
假设正确执行了挂钩代码,则将适当地执行挂钩代码.

感谢邀请,请问有报什么错吗

pre-receive,脚本没有执行

首先,检查git服务器上是否已经配置了pre-receive脚本。如果没有,则需要在服务器上配置pre-receive脚本,以便在提交代码时调用它。
其次,检查本地git客户端是否已经配置了pre-receive脚本。如果没有,则需要在本地git客户端上配置pre-receive脚本,以便在提交代码时调用它。
最后,检查git服务器上的pre-receive脚本是否正确配置,以确保它能够正确地检查提交的代码。

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 建议你看下这篇博客👉 :gitlab 使用 custom_hooks 自动化更新服务器上的代码
  • 除此之外, 这篇博客: gitlab 使用 custom_hooks 自动化更新服务器上的代码中的 1、切换到服务器上项目的gitlab目录,创建custom_hooks自定义钩子目录 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:
    # 切换到项目gitlab目录
    [root@iZwz90o2a8lpw2xgmh9bqpZ ~]# cd /var/opt/gitlab/git-data/repositories/@hashed/2c/62/2c624232cdd221771294dfbb310aca000a0df6ac8b66b696d90ef06fdefb64a3.git/
    [root@iZwz90o2a8lpw2xgmh9bqpZ 2c624232cdd221771294dfbb310aca000a0df6ac8b66b696d90ef06fdefb64a3.git]# ls -la
    total 12
    drwxr-s--- 6 git git 103 Mar  4 10:23 .
    drwxr-s--- 4 git git 163 Mar  4 10:23 ..
    -rw-r--r-- 1 git git 105 Mar  4 10:23 config
    -rw-r--r-- 1 git git  73 Mar  4 10:23 description
    -rw-r--r-- 1 git git  23 Mar  4 10:23 HEAD
    drwxr-sr-x 2 git git 332 Mar  4 10:23 hooks
    drwxr-sr-x 2 git git  21 Mar  4 10:23 info
    drwxr-sr-x 4 git git  30 Mar  4 10:23 objects
    drwxr-sr-x 4 git git  31 Mar  4 10:23 refs
    
    # 创建目录 并 赋予权限
    [root@iZwz90o2a8lpw2xgmh9bqpZ 2c624232cdd221771294dfbb310aca000a0df6ac8b66b696d90ef06fdefb64a3.git]# mkdir custom_hooks
    [root@iZwz90o2a8lpw2xgmh9bqpZ 2c624232cdd221771294dfbb310aca000a0df6ac8b66b696d90ef06fdefb64a3.git]# chmod 777 custom_hooks
    [root@iZwz90o2a8lpw2xgmh9bqpZ 2c624232cdd221771294dfbb310aca000a0df6ac8b66b696d90ef06fdefb64a3.git]# ls -la
    total 12
    drwxr-s--- 7 git  git 123 Mar  4 10:38 .
    drwxr-s--- 4 git  git 163 Mar  4 10:23 ..
    -rw-r--r-- 1 git  git 105 Mar  4 10:23 config
    drwxrwsrwx 2 root git   6 Mar  4 10:38 custom_hooks
    -rw-r--r-- 1 git  git  73 Mar  4 10:23 description
    -rw-r--r-- 1 git  git  23 Mar  4 10:23 HEAD
    drwxr-sr-x 2 git  git 332 Mar  4 10:23 hooks
    drwxr-sr-x 2 git  git  21 Mar  4 10:23 info
    drwxr-sr-x 4 git  git  30 Mar  4 10:23 objects
    drwxr-sr-x 4 git  git  31 Mar  4 10:23 refs
    

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^