Rails Gemfile: использовать одну линию в разработке, другую в производстве
Мы запускаем Unicorn на Heroku в производственном процессе, но используем Webrick при разработке на локальной машине. Мы не можем установить Unicorn на локальный компьютер.
Возможно ли, чтобы Rails загружал драгоценный камень Единорога только в производстве? В настоящее время наше решение состоит в том, чтобы закомментировать драгоценный камень Unicorn при локальном запуске приложения и раскомментировать драгоценный камень при отправке в Heroku.
Мы на Rails 3.2.12.
Gemfile:
source 'http://rubygems.org'
gem 'rails', '3.2.12'
gem 'jquery-rails'
# # =========================================================================================
#
# #=========================================================================================
gem 'mongo'
gem 'mongo_mapper'
gem 'plucky'
gem 'bson_ext'
gem 'bson'
gem 'newrelic_rpm'
gem 'rpm_contrib'
# Gems used only for assets and not required
# in production environments by default.
group :assets do
gem 'sass-rails', '~> 3.2.3'
gem 'coffee-rails', '~> 3.2.1'
gem 'uglifier', '>= 1.0.3'
end
Спасибо!
1 ответ
Возможно ли, чтобы Rails загружал драгоценный камень Единорога только в производстве? В настоящее время наше решение состоит в том, чтобы закомментировать драгоценный камень Unicorn при локальном запуске приложения и раскомментировать драгоценный камень при отправке в Heroku.
Да, это возможно при использовании групп в Gemfile
, Обновите свой Gemfile
как следует для unicorn
драгоценный камень в production
только:
# Gemfile
group :production do
gem 'unicorn'
end
поскольку WEBrick
является веб-сервером по умолчанию для приложений rails, вам не нужно ничего указывать для development
группа.
Бег bundle install
после Gemfile
обновление по-прежнему будет устанавливать добычу драгоценных камней. Это, безусловно, хорошая вещь, так как вы хотите убедиться, что драгоценные камни, которые вы планируете использовать в работе, правильно работают с вашим приложением на этапе разработки проекта.
Пропустить установку production
групповые жемчужины:
bundle install --without production
Следует отметить, что --without production
вариант заключается в том, что последующие вызовы bundle install
а также bundle update
также собираемся пропустить установку и обновление драгоценных камней производства. Чтобы отключить это, вам нужно удалить строкуBUNDLE_WITHOUT: production
от твоего app_root/.bundle/config
:
# app_root/.bundle/config
BUNDLE_WITHOUT: production