2013-05-06 3 views
4

Quand je lance zeus:Comment passer des variables d'environnement à Zeus

MY_VAR=MY_VALUE zeus start 

Environnement reste avec cette cette variable, disons que je veux exécuter le serveur Rails avec MY_VAR=MAY_VALUE_2

J'ai essayé:

MY_VAR=MAY_VALUE_2 zeus s 

Mais cela ne fonctionne pas. J'utilise oh-my-zsh, au cas où c'est important.

Comment puis-je faire cela?

+1

Je ne suis pas sûr que vous pouvez - pour autant que je comprends l'enfant en forme de fourche est toujours va hériter de l'environnement du processus parent, à savoir la serveur zeus. –

+0

Vous pouvez utiliser zeus.json pour les définir. –

Répondre

6

Je ne sais pas si vous avez toujours besoin d'aide mais si vous voulez pouvoir stocker des variables d'environnement dans un fichier, vous pouvez utiliser le custom_plan.rb généré avec zeus init. Voici une copie de mon fichier. J'utilise Omniauth et j'ai besoin de mes clés pour être facilement modifiable. Vous pouvez ajouter des variables serveur uniquement en surchargeant la méthode server, sachez simplement que vos initialiseurs seront exécutés avant la commande du serveur.

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

L'un des principaux avantages de l'utilisation d'une variable d'environnement au lieu d'un fichier de paramètres est qu'il n'est pas facile de valider accidentellement des éléments tels que GPLUS_SECRET et FACEBOOK_SECRET. L'utilisation d'un tel fichier ramène ce problème. J'aimerais qu'il y ait une meilleure option. – Gerry

3

Passant en zeus commencer

SOME_ENV_VAR=test zeus start