Начиная с Bundler 1.2, теперь вы можете указать реализацию Ruby и версию в вашем Gemfile
. Приятно то, что Heroku поймет эти настройки и подготовит ваше приложение Heroku для вашей среды.
Возьмите Gemfile
, например:
source "https://rubygems.org"
ruby "1.9.3"
gem "rails"
gem "puma"
Что здорово, так это то, что по умолчанию Celadon Cedar использует Ruby 1.9.2. Однако, когда вы укажете ruby "1.9.3"
в Gemfile
, он фактически скомпилирует Ruby 1.9.3 для вашей среды Heroku.
Теперь, если вы хотите добавить другую реализацию Ruby в среду Heroku, вы можете сделать это следующим образом:
source "https://rubygems.org"
ruby "1.9.3", :engine => "jruby", :engine_version => "1.7.0.preview1"
gem "rails"
gem "puma"
Теперь он будет устанавливать и использовать JRuby 1.7.0.preview1 в режиме Ruby 1.9 для приложения Heroku после развертывания. Он также даже определит правильные параметры JVM в переменных среды Heroku.
Лучше всего то, что он поставляется с официальным Heroku buildpack , поэтому нет необходимости переключаться на сторонний buildpack, чтобы запустить JRuby / JVM на Heroku. Хотя я еще не заставил его работать, этот должен также работать с Рубиниусом , но я считаю, что он в настоящее время прослушивается. Либо так, либо я делаю это неправильно.
Это, на мой взгляд, потрясающая и масштабируемая функция. Просто определите реализацию / версию / режим Ruby, которую вы используете в своем Gemfile, вместе с другими вашими зависимостями, и Heroku обеспечит подготовку среды.