我正在尝试按照https://gitlab.com/gitlab-org/gitlab-ee/blob/master/doc/update/8.7-ce-to-ee.md的说明将我们的GitLab CE服务器升级到GitLab EE
服务器是CentOS 6.7,最初由
安装GitLab CE$ curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
$ sudo yum install gitlab-ce
目前的版本是
$ rpm -q gitlab-ce
gitlab-ce-8.7.5-ce.0.el6.x86_64
我按照上面链接的the upgrade guide步骤操作,但收到错误
$ cd /home/git/gitlab
$ sudo -u git -H bundle exec rake gitlab:backup:create RAILS_ENV=production
sudo: bundle: command not found
我从之前的工作和other questions here了解到这个问题。我认为根本原因是我们已经从rpm安装了should use "gitlab-rake" instead of "bundle exec rake"。
这足以解决上述问题,但the guide中的后续步骤包括
$ sudo -u git -H bundle install ...
似乎gitlab-rake
不适用于此,所以我需要实际使用bundle
命令。但我不知道哪一个 - 磁盘上目前有19个不同的文件叫.../bin/bundle
,其中7个来自gitlab rpm。
所以:当指南告诉我
时,我应该使用哪个“捆绑”命令sudo -u git -H bundle install ....
答案 0 :(得分:1)
这可能会或可能不会对您的具体情况有所帮助,但我在CentOS 7上运行的GitLab CE(社区版)遇到了类似的问题。一切都运行顺利,但在尝试运行一些记录的服务命令时使用bundle
,我发现bundle
不在任何人的$PATH
中:既不是root用户也不是git
用户。
最后,systemd向我指出了正确的环境,即:
# systemctl status gitlab-runsvdir.service | grep Loaded
Loaded: loaded (/usr/lib/systemd/system/gitlab-runsvdir.service; enabled; vendor preset: disabled)
# grep '^Exec' /usr/lib/systemd/system/gitlab-runsvdir.service
ExecStart=/opt/gitlab/embedded/bin/runsvdir-start
# grep PATH /opt/gitlab/embedded/bin/runsvdir-start
PATH=/opt/gitlab/bin:/opt/gitlab/embedded/bin:/usr/local/bin:/usr/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin
Etvoilà。
该脚本(/opt/gitlab/embedded/bin/runsvdir-start
)还包含一些脚手架来设置正确的运行时环境,这对于在适当的地方进行研究和应用非常有用。
最后值得注意的是(正如原始q中所指出的),任何rake
命令都应该使用gitlab-rake
运行。