在生产中将Ruby版本更新到更新(最新)?

时间:2014-04-08 19:06:08

标签: ruby-on-rails ruby ubuntu rvm updates

我们在生产服务器上使用Ubuntu 12.04 TLS,Ruby 1.9.3,Rails 3.2.12和RVM。

我们希望将Ruby从1.9.3升级到2.2(或者不管最新版本),而不更新Rails。

我有三个问题:

  1. 是否有任何警告,任何不一致,弃用的方法?网站是否有可能停止工作?
  2. 考虑到我们正在使用RVM,是否可以回到我们现在使用的版本(如果出现任何问题)?
  3. 是否有必要重新安装我们现在使用的所有宝石?
  4. 提前致谢!

1 个答案:

答案 0 :(得分:3)

总是假定整个机器将被这个过程破坏得无法修复。做好最坏的准备,希望做到最好。如果您没有测试机器,可以使用Vagrant之类的工具构建测试机器。一旦有了可行的程序,就在生产系统上重复它。

Ruby 2.1.1是当前版本。您还希望了解升级Rails本身以避免一堆nasty vulnerabilities。 3.2.17是这里的目标版本。

RVM确实可以更轻松地升级内容,但您还需要升级启动程序(例如Passenger)以使用较新的Ruby版本。是的,可以退出,但这并不总是方便。

可能有助于拯救灾难的一个技巧是将您的/etc目录检入本地Git存储库。这使您可以回滚所做的任何配置更改,以及查看您在升级过程中实际所做的更改。

对基础Ruby版本的任何更改都需要重新安装所有 gems。如果您使用Bundler或自动部署工具,这应该是相当自动的。