Gitlab Omninbus 核心:索引器设置失败 "Could not locate Gemfile or .bundle/ directory"

Gitlab Omninbus Core: Indexer setup fails with "Could not locate Gemfile or .bundle/ directory"

设置 Omnibus Gitlab 12.7.5 Enterprise Edition 时,在集成 ElasticSearch 的步骤中,索引器设置在发出命令时失败并显示 "Could not locate Gemfile or .bundle/ directory":

sudo -u git -H bundle exec rake gitlab:indexer:install[/home/git/gitlab-elasticsearch-indexer] RAILS_ENV=production

起初,它抱怨 git 不拥有 /var/opt/gitlab 的一些子目录。当我 chowned 他们 git

时,那个警告消失了

然后开始抱怨"Could not locate Gemfile or .bundle/ directory"

作为一个完全 Ruby 文盲,以下是解决问题所采取的步骤:

XXX@gitlab:~$ sudo dpkg -l ruby-bundler
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                            Version              Architecture         Description
+++-===============================-====================-====================-====================================================================
ii  ruby-bundler                    1.16.1-1             all                  Manage Ruby application dependencies (runtime)

Fetching: bundler-2.1.4.gem (100%)
Successfully installed bundler-2.1.4
Parsing documentation for bundler-2.1.4
Installing ri documentation for bundler-2.1.4
Done installing documentation for bundler after 3 seconds
1 gem installed

/var/opt/gitlab/.bundle 是空的,不知道是不是设置有误

欢迎任何帮助解决这个问题,这肯定是由于我缺少 Ruby 命令

[编辑:] 在 之后,我发现我的磁盘几乎已满(30 个中使用了 28.3 GiB)。我会在等待关于这个问题的一些真正知识时增加它 => 运气不好,显然这不是 space 问题

[编辑 2:] 鉴于在 passwd 中为用户 git 指定的主目录是 /var/opt/gitlab 我尝试使用该目录作为安装目录执行命令,即:sudo -u git -H bundle exec rake gitlab:indexer:install[/var/opt/gitlab/gitlab-elasticsearch-indexer] RAILS_ENV=production 但是 "Could not locate Gemfile or .bundle/ directory" 错误还在

[编辑 3:] 似乎在 product features page 中,ElasticSearch 集成是一项 "Bronze"(付费)功能。这可能是索引器拒绝在我的 "Core"(免费)系统上安装的原因。我已经在 Gitlab 论坛上设置了一个 post 来确认,希望能尽快得到一些有用的信息!

我不得不说我正在使用高级版本,但我也偶然发现了完全相同的问题。之后才发现其实我们的gitlab enterprise edition 12.7.5已经安装了indexer了。不知道你的版本是不是这样。

我得到了索引 运行:

gitlab-rake gitlab:elastic:create_empty_index && gitlab-rake gitlab:elastic:index

终于找到答案了

Gitlab 取出 UI 字段以正确配置它,除非你支付许可证 - 你可以 运行 企业版而无需支付许可证 -

我了解其背后的业务逻辑,但仍应对其进行更多记录