2010-11-24 17 views
1

我們如何通過:以使其能夠識別我們正在進入即分期,生產示範傳:RAILS_ENV在Capistrano的廚師長/食譜/ monit的/ mongrel.conf

我們正試圖得到什麼版本RAILS_ENV vairable來自capistrano中deploy.rb的rails_env傳遞給cookbook,然後轉換爲monit,然後創建一個mongrel.conf文件,其中包含不同的環境值(demo..production)。在mongrel.erb,我們可以拿起這個變量/參數,設置RAILS_ENV = XXXX

在命令行

,要指定我們正在做的事情的部署 - 帽廚師:引導生產

這個「生產「設置:RAILS_ENV在deploy.rb

回答

1

運行腳本之前設置你的shell(命令行)環境變量,讓你的腳本拿起它的價值,即:

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,它沒有拿起任何環境變量。所以RAILS_ENV必須在mongrel.conf中設置。這就是我們現在在.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 demo -P/home/ubuntu/xx/current/log/nomad.3000.pid「作爲uid ubuntu和gid ubuntu。我們想讓「demo」可以根據cap命令行設置的內容進行配置 – Ashish 2010-11-24 20:30:38