Использование Bundler в развертывании - PullRequest
0 голосов
/ 15 февраля 2012

Довольно фундаментальный вопрос, но я пытаюсь понять, как лучше всего использовать Bundler в ситуации развертывания.

Я работаю над приложением Sinatra, которое имеет около 20 зависимых гемов.Во время разработки я использую RVM с пользовательским набором гемов для приложения и запускаю bundle install для обновления набора гемов в соответствии с гемфайлом.

Когда речь идет о развертывании (пока вручную, поэтому яМожно понять, как все это работает, прежде чем использовать инструмент, как Capistrano), мне нужно сделать bundle install --development правильно?Это загружает драгоценные камни и помещает их в vendor/bundle.

Мой вопрос: что еще мне нужно сделать?Я использую Unicorn на сервере - я просто bundle exec unicorn ... и все просто работает?(то есть, упаковщик находит каталог вендора и использует оттуда гемы?)

Должен ли единорог быть драгоценным камнем в приложении или отдельным системным гемом на сервере, который разделяют все приложения?

1 Ответ

0 голосов
/ 16 февраля 2012

Вам нужен ключ --deployment, а не --development: http://gembundler.com/man/bundle-install.1.html#DEPLOYMENT-MODE

При первом запуске упаковщик создает конфигурацию в каталоге .bundle.Вы можете проверить это, запустив bundle config или просто cat .bundle/config в каталоге проекта.Так что bundle exec unicorn достаточно, так как bundler знает, где установлены гемы.На компьютере разработчика вы также можете установить гем в произвольный каталог, используя ключ --path.Для получения дополнительной информации см. Справочную страницу для установки пакета (ссылка выше или bundle help install).

...