samba共享上的GitLab数据文件夹

时间:2015-01-13 14:03:18

标签: gitlab samba nas

我需要一些帮助将samba共享配置为gitlab数据文件夹。

我在这里尝试了以下建议:

change the data directory gitlab to store repos elsewhere

和官方文件无济于事。 这是我做的:

1]我已经使用omnibus软件包安装了gitlab 7.6.2,并且我还检查了所有使用预配置的/ var / opt / gitlab / git-data文件夹的工作

2]我已经通过修改/ etc / fstab文件在/ media / gitlab-data上安装了我的samba共享(位于nas服务器上)。

这是fstab行:

// xxx.xxx.x.xx / test / media / gitlab-data cifs username = xxx,password = xxx 0 0

我用来连接的用户拥有该共享的完全权限。 挂载操作后,该文件夹的权限如下:

Initial permissions

3]我在/etc/gitlab/gitlab.rb中修改了gitlab的配置,将gitlab_user_data参数更改为

/媒体/ gitlab数据

我接着进行了

sudo gitlab-ctl reconfigure

在重新配置脚本结束时,我的共享权限是:

Permissions after reconfigure

并且已成功创建了初始gitlab-satellitesrepositories文件夹。

现在,gitlab web界面完全可以运行,但我无法创建新项目(或添加新用户)。只要我点击“创建项目”' Web界面返回时出现以下错误:

无法创建存储库

我很确定这是一个许可问题,但我不知道如何解决这个问题。 我还添加了2个奇怪的东西:

1]我无法在与此操作相关的日志中找到任何错误。我看到的唯一相关消息是在gitlab-shell日志中:

I,[2015-01-13T14:27:50.408394#1658]信息 - :添加项目root / test.git at。

2] / media / gitlab-data中的test.git文件夹是默认创建的,但是在我挂载的文件夹上执行ls -la会返回此权限:

 drwxrwxrwx 3 1024 users 0 Jan 13 14:27 .
 drwxrwxrwx 3 git  git   0 Jan 13 14:27 ..
 drwxrwxrwx 7 1024 users 0 Jan 13 14:27 test.git

可能有些东西试图在这些文件夹上创建chown,并且该命令最终会失败。 我也不知道谁是1024 uid的所有者。

感谢任何帮助。 提前谢谢!

1 个答案:

答案 0 :(得分:0)

这是因为它无法为文件创建符号链接:

/opt/gitlab/embedded/lib/ruby/2.1.0/fileutils.rb:355:in `symlink': Operation not supported @ sys_fail2 - (/opt/gitlab/embedded/service/gitlab-shell/hooks, /<path>/gitlab/git-data/repositories/root/repo.git/hooks) (Errno::EOPNOTSUPP)
    from /opt/gitlab/embedded/lib/ruby/2.1.0/fileutils.rb:355:in `block in ln_s'
    from /opt/gitlab/embedded/lib/ruby/2.1.0/fileutils.rb:1595:in `fu_each_src_dest0'
    from /opt/gitlab/embedded/lib/ruby/2.1.0/fileutils.rb:353:in `ln_s'
    from /opt/gitlab/embedded/service/gitlab-shell/lib/gitlab_projects.rb:28:in `create_hooks'
    from /opt/gitlab/embedded/service/gitlab-shell/lib/gitlab_projects.rb:99:in `add_project'
    from /opt/gitlab/embedded/service/gitlab-shell/lib/gitlab_projects.rb:48:in `exec'
    from /opt/gitlab/embedded/service/gitlab-shell/bin/gitlab-projects:31:in `<main>'

我刚评论了/opt/gitlab/embedded/service/gitlab-shell/lib/gitlab_projects.rb中的第28行,然后才能创建该项目。