我需要一些帮助将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
我用来连接的用户拥有该共享的完全权限。 挂载操作后,该文件夹的权限如下:
3]我在/etc/gitlab/gitlab.rb中修改了gitlab的配置,将gitlab_user_data参数更改为
/媒体/ gitlab数据
我接着进行了
sudo gitlab-ctl reconfigure
在重新配置脚本结束时,我的共享权限是:
并且已成功创建了初始gitlab-satellites
和repositories
文件夹。
现在,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的所有者。
感谢任何帮助。 提前谢谢!
答案 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行,然后才能创建该项目。