У меня есть четыре приложения на Rails (и еще больше). Они делятся:
- таблицы стилей
- JavaScripts
- Камни третьих лиц
- некоторые из тех же моделей ActiveRecord
- наши собственные библиотеки ruby
- переменные конфигурации / среды
У меня также есть несколько сервисов rabbitmq, которые взаимодействуют с вышеупомянутыми приложениями Rails.
Я пытаюсь понять, как разумно управлять версиями всего этого. Прямо сейчас у меня есть все в одном гигантском git-хранилище, структурированном как:
/sites/rails1
/sites/rails2
/sites/rails3
/services/service1
/services/service2
/services/service2
/lib/our_code
/lib/common_js
/lib/common_css
/config/common_configuration_files
Это разумный способ сделать это?
Если бы я разбил все на их собственный git-проект, то, похоже, было бы просто индивидуально обновлять каждый проект каждый раз, когда обновлялся общий файл gem / library / css (с использованием gems / bundler или чего-либо еще).
К сожалению, наличие всего в одном проекте состоит в том, что я не могу разместить одно приложение или услугу в Heroku (легко).
Может ли здесь помочь слияние с git поддеревом? Может быть, у каждого сайта / сервиса есть своя ветка?