符号链接到GitLab中具有自定义挂钩的文件夹

时间:2017-02-06 15:44:41

标签: gitlab

我有GitLab 8.16.4并且有很多团体有很多项目。我想创建一个位置,其中许多脚本在循环中作为不同的钩子运行(就像在此解决方案Chaining git hooks中),并且在每个项目中使custom_hooks文件夹作为前面提到的位置的符号链接。

我有测试项目:/var/opt/gitlab/git-data/repositories/test/test.git/。如果我用钩子(/var/opt/gitlab/git-data/repositories/test/test.git/custom_hooks/update)创建那个文件夹,则调用它。但是如果文件夹是符号链接到其他位置,则不会调用钩子。

我检查了文件夹/文件的所有者,但它们没问题。

项目:

lrwxrwxrwx 1 gitlab gitlab 31 Feb 6 13:37 custom_hooks -> /home/user/custom_hooks

/家庭/用户/ custom_hooks:

drwxr-xr-x 2 gitlab gitlab 4096 Feb 6 13:31 custom_hooks

lrwxrwxrwx 1 gitlab gitlab 10 Feb 6 13:26 /home/user/custom_hooks/update -> hook-chain

我的配置有什么问题,或者GitLab不允许从项目中的文件中调用其他本地化的挂钩吗?

1 个答案:

答案 0 :(得分:0)

最终解决方案:

  1. post-receive.d创建文件夹pre-receive.dupdate.dmyhooksmyhooks
  2. hook-chain创建hook-chain脚本以及由其运行的正确挂钩
  3. 前三个文件夹中的
  4. myhooks中的脚本[root@server ~]# ll /opt/gitlab/embedded/service/gitlab-shell/hooks/update.d/ total 4 lrwxrwxrwx 1 gitlab gitlab 68 Apr 18 08:47 update -> /opt/gitlab/embedded/service/gitlab-shell/hooks/myhooks/hook-chain 创建符号链接,如:

    gitlab
  5. 当然,用户translate必须是所有脚本的所有者