2013-05-06 76 views
4

當我運行宙斯:如何通過環境變量宙斯

MY_VAR=MY_VALUE zeus start 

環境保持與該變量,比方說,我想與MY_VAR=MAY_VALUE_2

運行Rails服務器我曾嘗試:

MY_VAR=MAY_VALUE_2 zeus s 

但它不起作用。如果這很重要,我正在使用oh-my-zsh。

我該怎麼做?

+1

我不知道你可以 - 據我瞭解派生的子總是要繼承父進程的環境,即宙斯服務器。 – 2013-05-06 20:50:16

+0

您可能可以使用zeus.json來設置這些。 – 2013-05-06 22:39:28

回答

6

不知道你是否仍然需要幫助,但是如果你想能夠將環境變量存儲在文件中,可以使用zeus init生成的custom_plan.rb。以下是我的文件的副本。我使用的是Omniauth,需要我的密鑰才能輕鬆更改。您可以通過重載server方法來添加僅服務器變量,只需知道您的初始化程序將在服務器命令之前運行。

require 'zeus/rails' 

class CustomPlan < Zeus::Rails 

    def boot 

    # Omniauth Keys 

    # GOOGLE+ 
    ENV['GPLUS_KEY']  = 'xxx' 
    ENV['GPLUS_SECRET'] = 'xxx' 

    # FACEBOOK 
    ENV['FACEBOOK_KEY'] = 'xxx' 
    ENV['FACEBOOK_SECRET'] = 'xxx' 

    super # Finish boot 
    end 
end 

Zeus.plan = CustomPlan.new 
+0

使用環境變量而不是設置文件的一個要點是,意外地提交諸如GPLUS_SECRET和FACEBOOK_SECRET之類的東西並不容易。使用這樣的文件會帶來這個問題。我希望有更好的選擇。 – Gerry 2016-03-20 06:08:56

3

通過它在宙斯開始

SOME_ENV_VAR=test zeus start