2013-05-06 127 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