2013-07-02 6 views
1

я создал рубиново среду для пользователя gitlab (РВМ рубин питона), используя это руководство: http://wiki.gentoo.org/wiki/GitLabНачиная Gitlab с init.d скрипт (папуасских)

кошка /etc/init.d/gitlab

GITLAB_BASE=/home/gitlab/gitlab 
GITLAB_USER=gitlab 

depend() { 
     need net redis 
} 

start() { 
     ebegin "Starting gitlab unicorn server" 
    start-stop-daemon --start \ 
      --chdir "${GITLAB_BASE}" \ 
      --user "${GITLAB_USER}" \ 
      --pidfile "${GITLAB_BASE}/tmp/pids/unicorn.pid" \ 
      --exec bundle -- exec unicorn_rails -c "${GITLAB_BASE}/config/unicorn.rb" -E      production -D 
    eend $? 
    ebegin "Starting gitlab sidekiq" 
    start-stop-daemon --start \ 
      --chdir "${GITLAB_BASE}" \ 
      --user "${GITLAB_USER}" \ 
      --pidfile "${GITLAB_BASE}/tmp/pids/sidekiq.pid" \ 
      --exec bundle -- exec rake sidekiq:start RAILS_ENV=production 
    eend $? 
} 

stop() { 
    ebegin "Stopping gitlab sidekiq" 
    start-stop-daemon --stop \ 
      --chdir "${GITLAB_BASE}" \ 
      --user "${GITLAB_USER}" \ 
      --pidfile "${GITLAB_BASE}/tmp/pids/sidekiq.pid" 
    eend $? 
    ebegin "Stopping gitlab unicorn server" 
    start-stop-daemon --stop \ 
      --chdir "${GITLAB_BASE}" \ 
      --user "${GITLAB_USER}" \ 
      --pidfile "${GITLAB_BASE}/tmp/pids/unicorn.pid" 
    eend $? 
}%                   

, когда я начинаю его я вижу:

* Starting gitlab unicorn server ... 
* start-stop-daemon: bundle does not exist                                       
* Starting gitlab sidekiq ... 
* start-stop-daemon: bundle does not exist                                       
* ERROR: gitlab failed to start 

я получил пакет для пользователя gitlab. что я делаю неправильно?

ответ

3

Здесь есть две проблемы. Во-первых, rvm обычно загружается только оболочкой пользователя и эта оболочка не вызывается здесь. Во-вторых, связка также не будет в PATH. Чтобы исправить обе проблемы, предполагая, что это установка РВМ для каждого пользователя, попробуйте это ...

... --exec /home/gitlab/.rvm/bin/rvm -- default do bundle exec ... 

Как примечание стороны, вы не должны использовать unicorn_rails с Rails 3 приложения. Просто используйте простой единорог.

0

Кроме того, сменить GITLAB_BASE=/home/gitlab/gitlab на GITLAB_BASE=/home/git/gitlab. Этот сценарий инициализации находится в GitLab 4.2. В версии 5.0 пользователь изменил с gitlab на git.