【发布时间】:2011-08-11 20:05:27
【问题描述】:
我有 2 个环境,production 和 staging,我正在使用 Capistrano 和 capistrano-ext gem。
当我使用 Capistrano 部署到 staging 并重新启动乘客时,我希望部署的应用程序在 staging 中运行,但它在默认 production 中运行em>
我试过设置:
set :rails_env, "staging"
在我的部署配方中,但这没有效果。
我知道这可以通过在 Apache 中设置虚拟主机来完成,但我使用的是共享主机,所以没有访问权限。我的主人提出了这个建议:
将以下内容添加到 environment.rb:ENV['RAILS_ENV'] = 'staging'
但这并不能帮助我使用 Capistrano 自动化该过程。
【问题讨论】:
-
添加
ENV['RAILS_ENV'] = 'staging'本身是否有效?如果它有效,那么只需编写一个 Capistrano 配方来自动化它。 -
您是否尝试过要求您的托管公司为您更改环境?这是解决这个问题的最好方法。如果他们拒绝合作,您可以得出关于他们的结论。
-
@htanata - 是的,这行得通,我想从 Capistrano 自动化,谢谢。
标签: ruby-on-rails deployment passenger capistrano