2013-05-06 15 views
4

Когда я бегу ЗЕВС:Как передать переменные окружения Зевсу

MY_VAR=MY_VALUE zeus start 

среда остается с этой этой переменной, скажем, я хочу запустить Rails сервер с MY_VAR=MAY_VALUE_2

Я пробовал:

MY_VAR=MAY_VALUE_2 zeus s 

Но это не сработает. Я использую oh-my-zsh, в случае, если это важно.

Как я могу это сделать?

+1

Я не уверен, что вы можете - насколько я понимаю, раздвоенный ребенок всегда будет наследовать окружение родительского процесса, т.е. zeus server. –

+0

Возможно, вы можете использовать zeus.json для их установки. –

ответ

6

Не знаю, нужна ли вам помощь, но если вы хотите сохранить переменные окружающей среды в файле, вы можете использовать custom_plan.rb, который сгенерирован с помощью zeus init. Ниже приведена копия моего файла. Я использую 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

3

Передача его в Зевсу начать

SOME_ENV_VAR=test zeus start

Смежные вопросы