Nginxを実行している単一のサーバー上にステージング環境と本番環境の両方を備えた小さなSinatraアプリがあります。デプロイするには、Capistranoとcapistrano-extを使用して、さまざまな場所に簡単にデプロイします。
ステージング環境が常にapp.rbファイル内で指定された本番構成で実行されるという問題。
configure :staging do
# staging settings
set :foo, "bar" # will never be set to this
end
configure :production do
# prod settings
set :foo, "rab"
end
deploy.rbファイル内のcapistrano:environment変数は、Sinatraを構成しないという結論に達しました。また、ENV["RACK_ENV"]を"staging"に設定して無駄にしようとしました。
config / deploy / staging.rb
server "10.10.100.16", :app, :web, :db, :primary => true
set :deploy_to, "/var/www/staging.my_app"
set :environment, "staging"
set :env, "staging"
ENV["RACK_ENV"] = "staging"
何か案は?
**更新:私もPassengerを使用していることを追加する必要があります。