У меня есть приложение Sinatra, для которого требуется другой камень, который я разрабатываю локально. У меня возникли проблемы с настройкой Bundler на использование моего локального кода драгоценных камней во время разработки, но мой код драгоценного камня, выпущенный в процессе производства.
В идеале я мог бы сделать что-то подобное, но Bundler не позволяет вам указать один и тот же камень дважды:
# Doesn't work:
group :development do
gem 'awesome', :path => "~/code/awesome"
end
group :production do
gem 'awesome', :path => "vendor/gems/awesome-0.0.1"
end
Тем временем я прибегал к ручному приему драгоценных камней и обновлению источника драгоценных камней в Gemfile каждый раз, когда я развертываю, что довольно сложно. Мой рабочий процесс таков:
- Настройте мой локальный камень во время разработки (
gem 'awesome', :path => "~/code/awesome"
) - Когда вы готовы к развертыванию, распакуйте драгоценный камень в
vendor/gems
- Обновить Gemfile, чтобы указать на драгоценный камень (
gem 'awesome', :path => "vendor/gems/awesome-0.0.1"
) - Запустите
bundle install
(для обновления Gemfile.lock) - Развернуть код
- Вернитесь к шагу 1.
Какая хлопот! Я хотел бы сделать что-то более чистое, чем просто писать задачи Rake для автоматизации моей текущей настройки.
Какой лучший рабочий процесс для этого сценария?