如何配置Ruby on Rails应用程序

时间:2018-01-17 16:09:04

标签: ruby-on-rails

如何配置Ruby on Rails应用程序以在生产环境和测试环境之间切换?有什么办法吗?

2 个答案:

答案 0 :(得分:0)

您可以在config/目录和db/中创建特定于环境的配置文件。

要在不同的环境之间切换,可以在运行rails时指定RAILS_ENV环境变量:

rails s RAILS_ENV=production
rails s RAILS_ENV=test
# With bundler
bundle exec rails s RAILS_ENV=production
bundle exec rails s RAILS_ENV=test

You can read more about it in the Configuration Rails Applications guide

如果您要为网站设置多个配置,则需要在数据库中创建设置模型。这将使您可以在站点配置之间切换。您不应该依赖生产/测试/登台配置YAML文件,而应该将您的Web应用程序视为多站点;为每个站点/域/子域存储的不同配置设置,类似于Wordpress,Drupal,Magento和基于这些CMS的其他Web应用程序的操作。

答案 1 :(得分:0)

不幸的是,这几乎是不可能的,因为您可能在生产与测试中使用不同的机器配置。例如,当您在测试中使用rails时,您可能在生产中使用puma或unicorn。此外,您可能在生产与测试中使用不同的数据库。

我不知道你的用例是什么,但我的建议是创建一个按钮,当用户点击这个按钮时将用户重定向到另一个服务器。唯一的另一种可能性是,只要单击按钮,此按钮就会触发新部署。所以基本上,在您单击此按钮5分钟后,您将在生产服务器的位置部署测试服务器。与旧服务器相比,您的负载均衡器将指向此新服务器。这是令人难以置信的复杂,用例可能不存在,但它实际上回答了你的问题。祝你好运!