3

真是令人沮丧:我正在寻找基于 gitolite 的可管理的基于 Web 的解决方案。由于缺少或过时的 ruby​​ 包,Redmine 一直失败。至少我尝试过使用 gitLab。我使用的最后一个指南是常规指南:

Gitlab总部

我一步一步地复制了每个点,但是没有办法执行无错误的设置:

这应该是最后的步骤之一:

sudo -u gitlab -H bundle exec rake gitlab:check RAILS_ENV=production

但输出告诉我用户 'gitolite' (=git) 不在 gitolite 组中以及如何解决该问题:

检查环境...

gitlab 用户在 gitolite 组中?...不
尝试修复它: sudo usermod -a -G gitolite gitlab

有关更多信息,请参阅:“系统用户”部分中的 doc/install/installation.md

请修复上述错误并重新运行检查。~gitolite/.profile 中没有“-e”... rake 中止!

没有这样的文件或目录 - /var/lib/gitolite/.profile

/home/gitlab/gitlab/lib/tasks/gitlab/check.rake:320:in `read'

/home/gitlab/gitlab/lib/tasks/gitlab/check.rake:320:in check_issue_1056_shell_profile_error' /home/gitlab/gitlab/lib/tasks/gitlab/check.rake:257:inblock (3 levels) in '

任务:TOP => gitlab:check => gitlab:env:check

(通过使用 --trace 运行任务查看完整跟踪

但是没有机会处理这个。输出保持不变。即使创建了管理员帐户,也无法启动 Web 服务器来管理该帐户。

一直都是“坏网关”

你知道怎么解决吗?或者您知道基于 gitolite 的另一种合适的解决方案吗?

非常感谢 - 再次!

4

2 回答 2

4

这似乎是用户或权限问题。

您的 /etc/passwd 文件和 /etc/group 文件是否显示用户“git”?

> grep git /etc/passwd
git:x:....
> grep git /etc/group
git:x:....

如果在那里找不到用户或组,则它不存在。

在这种情况下,您必须确认您遵循了上面教程中提到的命令。

> sudo adduser \
  --system \
  --shell /bin/sh \
  --gecos 'Git Version Control' \
  --group \
  --disabled-password \
  --home /home/git \
git

您还必须拥有创建此类用户的权限。

否则,在阅读文档后,您似乎正在设置 $PATH 以完成某些任务并为用户创建.profile文件。

确认线路...

> sudo -u git -H sh -c 'printf "%b\n%b\n" "PATH=\$PATH:/home/git/bin" "export PATH" >> /home/git/.profile'

.profile通过运行创建正确的文件

> sudo su git
> ls -lah /home/git/ | grep .profile

如果 grep 未显示.profile文件,您可能需要确认您的用户具有创建文件的正确权限。

于 2013-01-03T15:36:16.017 回答
1

我在升级过程中也注意到了这一点,完全没有 .profile 文件......

此错误的名称具有误导性,实际问题是 1059:

https://github.com/gitlabhq/gitlabhq/issues/1059

我提交了一个补丁请求以引用堆栈跟踪中的正确问题:

https://github.com/gitlabhq/gitlabhq/pull/2485

检查 .profile 的权限和内容。

于 2013-01-04T15:17:01.327 回答