Лучшие практики для подключения движка Rails к нескольким приложениям в рабочей среде

Я немного запутался в организации приложений Rails и монтируемого движка в производстве.

У меня есть N приложений, которые используют 1 монтируемый движок (он устанавливает некоторые файлы cookie для приложений).
В разработке это работает следующим образом.
Папки:

|— app1
|— app2
|— my_engine

В приложениях Gemfile:

gem 'my_engine', path: "../my_engine"

Таким образом, все приложения монтируют его из одного источника.
И я хотел бы сохранить эту логику в рабочей среде.

В моих приложениях vps, организованных таким образом (используя Capistrano для развертывания):

|—apps_folder
|— — app1
|— — — current (sym link)
|— — — releases
|— — — shared

|— — app2
|— — — current (sym link)
|— — — releases
|— — — shared

|— git
|— — app1.git
|— — app2.git

Можете ли вы описать мой рабочий процесс: как развернуть my_engine на моем производстве и подключить его ко всем приложениям на сервере. Спасибо.


person Alex Fedoseev    schedule 21.12.2013    source источник


Ответы (1)


Вы имели в виду, как развернуть общий движок rails? Если общий движок установлен в каждом приложении rails, нет необходимости развертывать только движок. После развертывания приложения rails в рабочей среде запуск bundle install установит все зависимости приложений, включая общий движок. Это то, что мы сделали в нашем развертывании.

person user938363    schedule 21.12.2013
comment
Поэтому мне нужно отправить репозиторий движка на сервер и найти его в Gemfiles: user@server:path/to/engine.git и bundle install. Вот так? - person Alex Fedoseev; 21.12.2013
comment
Вы можете отправить движок на github и указать на github в Gemfile. - person user938363; 21.12.2013
comment
Или, если вы не используете github, вы можете загрузить движок в подкаталог сервера и указать его в Gemfile приложения. - person user938363; 21.12.2013