GitLab 安装忽略 ./config/gitlab.yml

GitLab 安装忽略 ./config/gitlab.yml

我一直尝试在 CentOS 5.x 上安装 GitLab,但是现在遇到了困难,而且谷歌的帮助令人困惑。

我一直在关注本安装指南(目前卡住了这里

bundle exec rake gitlab:app:status RAILS_ENV=production第二次运行后我得到这个输出:

Starting diagnostic
config/database.yml............exists
config/gitlab.yml............exists
/home/git/repositories/............missing
rake aborted!
unexpected return

相关部分/home/gitlab/gitlab/config/gitlab.yml是这样的(服务器有自定义 shh 端口):

git_host:
  system: gitolite___
  admin_uri: git@localhost:gitolite-admin
  base_path: /home/git/repositories/
  host: localhost
  git_user: git
  port: 2134

文件夹权限为drwxrwx--- 4 git git 4096 Jul 20 07:12 repositories,其中的文件为(gitlab用户在git组中):

drwxrwx--- 8 git git 4096 Jul 20 04:22 gitolite-admin.git
drwxrwx--- 7 git git 4096 Jul 20 04:22 testing.git

即使我改变了base_path中的值 config/gitlab.yml,它仍会继续尝试查找同一个文件夹。

我在 Google 上找到的解决方案的唯一可能的方向表明它与 SElinux 有某种关系。建议的命令是:find . -print0 |xargs -0 -n 1 sudo setfattr -h -x security.selinux。但我不知道在哪里执行它,它告诉我command setfattr not found.. 或类似的东西。此外,我有点怀疑,不变的配置也可能受到 SElinux 的影响。

该怎么办 ?

答案1

也许你没有rake以 gitlab 用户身份运行该命令?例如:

sudo -u gitlab bundle exec rake gitlab:app:status RAILS_ENV=production

遇到了类似的问题,看到其他设置gitlab.yml根本没有被应用......

答案2

你提到:

即使我改变了 base_path 的值config/gitlab.yml,它仍然会尝试查找同一个文件夹。

如果你看看config/initializers/1_settings.rb程序:

def git_base_path
      git_host['base_path'] || '/home/git/repositories/'
end

因此,这是您真正的问题(在开始调整文件夹权限之前):gitlab 不知何故忽略了您的config/gitlab.yml设置。
仔细检查其中是否有任何拼写错误,并确保完全考虑到它(例如,通过删除它,看看 gitlab 是否抱怨该文件丢失)。

相关内容