2013-08-22 5 views
2

Я следовал инструкциям по установке GitLab 6.0.0: https://github.com/gitlabhq/gitlabhq/blob/6-0-stable/doc/install/installation.mdSidekiq не работает на GitLab 6.0.0 установить

Когда я получаю "Проверка статуса заявки" и запустить

sudo -u git -H bundle exec rake gitlab:env:info RAILS_ENV=production

I см "Bundler Версия: неизвестно":

System information 
System:   Ubuntu 12.04 
Current User: git 
Using RVM:  no 
Ruby Version: 1.9.3p0 
Gem Version: 1.8.11 
Bundler Version:unknown 
Rake Version: 10.1.0 

GitLab information 
Version:  6.0.0 
Revision:  5246d63 
Directory:  /home/git/gitlab 
DB Adapter:  mysql2 
URL:   http://my-server 
HTTP Clone URL: http://my-server/some-project.git 
SSH Clone URL: [email protected]:some-project.git 
Using LDAP:  no 
Using Omniauth: no 

GitLab Shell 
Version:  1.7.0 
Repositories: /home/git/repositories/ 
Hooks:   /home/git/gitlab-shell/hooks/ 
Git:   /usr/bin/git 

bundle --version и sudo -u git -H bundle --version как показывают 1.3.5, так что я не знаю, почему он показывает «неизвестный» для вышеупомянутой команды ...

... так что я продолжу и запустить sudo service gitlab start и он говорит: «Служба GitLab началась », но, похоже, это неверно, поскольку sudo service gitlab status говорит:« Служба GitLab - не работает »и /home/git/gitlab/tmp/pids пуст, но имеет разрешения:« drwxr-xr-x »для пользователя и группы« git ».

axilleas удалось обойти это, создав каталог, но это не моя проблема.

... Я, наверное, не стоит ожидать, чтобы работать здесь, но я исхожу в любом случае, но теперь жалуется о sidekiq:

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

Checking Environment ... 

Git configured for git user? ... yes 
Has python2? ... yes 
python2 is supported version? ... yes 

Checking Environment ... Finished 

Checking GitLab Shell ... 

GitLab Shell version >= 1.7.0 ? ... OK (1.7.0) 
Repo base directory exists? ... yes 
Repo base directory is a symlink? ... no 
Repo base owned by git:git? ... yes 
Repo base access is drwxrws---? ... yes 
post-receive hook up-to-date? ... yes 
post-receive hooks in repos are links: ... can't check, you have no projects 

Checking GitLab Shell ... Finished 

Checking Sidekiq ... 

Running? ... no 
    Try fixing it: 
    sudo -u git -H bundle exec rake sidekiq:start RAILS_ENV=production 
    For more information see: 
    doc/install/installation.md in section "Install Init Script" 
    see log/sidekiq.log for possible errors 
    Please fix the error above and rerun the checks. 

Checking Sidekiq ... Finished 

Checking GitLab ... 

Database config exists? ... yes 
Database is SQLite ... no 
All migrations up? ... /home/git/gitlab/vendor/bundle/ruby/1.9.1/bin/rake: No such file or directory - bundle exec rake db:migrate:status 
yes 
GitLab config exists? ... yes 
GitLab config outdated? ... no 
Log directory writable? ... yes 
Tmp directory writable? ... yes 
Init script exists? ... yes 
Init script up-to-date? ... yes 
Projects have satellites? ... can't check, you have no projects 
Redis version >= 2.0.0? ... yes 
Your git bin path is "/usr/bin/git" 
Git version >= 1.7.10 ? ... yes (1.8.3) 

Checking GitLab ... Finished 

adril Испытал эту проблему (но его спутник работает правильно). Он следует за советом, но по какой-то причине его лог-файл имеет гораздо больше информации, чем моя - шахта только имеет одну строку:

поЬир: не удалось не запустить команду `пакет ': Нет такого файла или каталога

... возможно, это связано с линией «Нет такого файла или каталога - bundle exec rake db: migrate: status»?

Нет, я думаю, что можно безопасно игнорировать? - это работает нормально: sudo -u git -H bundle exec rake db:migrate:status RAILS_ENV=production

Edit: Когда я бегу echo $PATH я вижу /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games.

Я добавил некоторые протоколирование в Lib/задач/gitlab/info.rake и получается, что gitlab использует другой путь: установлен

/home/git/gitlab/vendor/bundle/ruby/1.9.1/bin:/usr/bin:/bin:/usr/sbin:/sbin

расслоение на /usr/local/bin

+0

Когда я запускаю 'bundle -version', я вижу' Bundler version 1.3.5' –

+0

Когда я запускаю 'echo $ PATH', я вижу'/usr/local/sbin:/usr/local/bin:/usr/SBIN:/USR/бен:/SBIN:/бен:/USR/games'. пакет установлен в '/ USR/местные/bin' Я добавил некоторые протоколирование в Lib/задач/gitlab/info.rake и получается, что gitlab использует другой путь: '/домой /git/gitlab/vendor/bundle/ruby/1.9.1/bin:/usr/bin:/bin:/usr/sbin:/sbin' –

ответ

2

Я не знаю, почему эта проблема существует, и как это исправить в коде, но есть простая работа вокруг:

sudo ln -s /usr/local/bin/bundle /usr/bin/bundle 
0

Можете ли вы попытаться запустить отказоустойчивые команды внутри пользователя git? Я имею в виду:

su 
su - git 
cd gitlab/ 
run commands.. 

Может быть Судо меняется ваш путь, как описанный here. Поэтому, если бы я был вами, я бы попытался снова установить пакет, а затем проверить приведенные выше ответы (если это ваш случай).

+0

Я думаю, что один из скриптов меняет путь. Я создал символическую ссылку в пути, который GitLab ищет, чтобы указать на фактическое местоположение связующего, и все это, кажется, работает сейчас. –

+0

@NicholasAlbion: Было бы неплохо, если бы вы могли опубликовать свое исправление в качестве ответа и пометить его как будучи ответом на ваш вопрос ... – menssana

0

visudo
DEFAULTS SECURE_PATH =/SBIN:/бен:/USR/SBIN:/USR/бен: /usr/local/rvm/gems/ruby-1.9.3-p392/bin: /usr/local/rvm/gems/[email protected]/bin:/usr/local/rvm/rubies/ruby-1.9.3-p392/bin

0

Я знаю, что это старый, но я собираюсь добавить некоторую информацию, поскольку у меня есть gitlab, работающий на FreeBSD, и мне пришлось изменить несколько вещи. Возможно, это будет полезно для тех, кто ищет решение, как и я.

Для меня проблема Sidekiq была вызвана неправильной командой в check.rake. Сценарий использует ps ux, который будет обрезать вывод, если он слишком длинный. Сценарий (в моей текущей версии) проверял его с помощью регулярных выражений, а мой пс показывает процесс как «ruby20: sidekiq 2.x.x», при этом вывод ps-вывода отключается вокруг sidekiq. Это было бы вызвано также в Linux. решение - добавить «ж» аргумент пс, как:

Gitlab::Popen.popen(%W(ps wux) 

Init проверка сценарий не сработает, если вы его установили в другой каталог, например Я имею его как /usr/local/etc/rc.d/gitlab. Существует запись script_path для omnibus и non-omnibus.