2010-11-24 5 views
1

我々は合格するにはどうすればよい:それは、我々は我々が取得しようとしている通過:カピストラーノでRAILS_ENVがシェフにする/料理/ MONIT/mongrel.conf

すなわちステージング、生産、デモの中にあるどのバージョンを認識するようにvairable RAILS_ENV raist_envをcapistranoのdeploy.rbからcookbookに渡してからmonitにしてから、環境の異なる値(demo..production)を持つmongrel.confファイルを作成します。 mongrel.erbでは、我々は、この変数/パラメータをピックアップし、RAILS_ENV = XXXXコマンドラインで

は、私たちが何をしているか、展開指定したい設定することができます - キャップシェフ:生産ブートストラップ

この「生産を「設定:deploy.rbでRAILS_ENV

答えて

1

は、スクリプトを実行する前にシェルで環境変数(コマンドライン)を設定し、あなたのスクリプトは、それの値ieを拾うてみましょう:

export RAILS_ENV=production 

あなたが値にアクセスすることができますあなたの$ RAILS_ENVを使ってRAILS_ENVのrスクリプト。ここピボタル研究所に似た何かを誰かの例です:

http://pivotallabs.com/users/steve/blog/articles/1286-chef-solo-is-great-you-might-not-need-client-server-

+0

MONITはmongrel.confを実行すると、それがどのような環境変数をピックアップしていません。ですから、mongrel.confにRAILS_ENVを設定する必要があります。これは今、.confファイルにあります。スタートプログラム= "/usr/local/rvm/gems/ruby-1.8.7-p302/bin/mongrel_rails start -d -p 3000 -c/home/ubuntu/xx/current -eデモ-P/home/ubuntu/xx/current/log/nomad.3000.pid "をuid ubuntuとgid ubuntuとして使用します。 capコマンドラインの設定に応じて「デモ」を設定できるようにします。 – Ashish

+0

だから、deploy.rbのどこかに「:rails_env = demo」があり、その後、あなたのCapistranoタスクに「run "export RAILS_ENV =#{rails_env}" '... .confファイルで、次のように環境変数を選ぶことができます:start program = "/usr/local/rvm/gems/ruby-1.8.7-p302/ bin/mongrel_rails start -d -p 3000 -c/home/ubuntu/xx/current -e $ RAILS_ENV -P /home/ubuntu/xx/current/log/nomad.3000.pid " – Scott

+0

わずかな修正です。コマンドラインで "cap chef:bootstrap rails_env = demo"と設定すると、rails_envがdeploy.rb内に設定されます。私はあなたの質問を誤解しました。これはどんな方法でも役立ちますか? – Scott

関連する問題