L'obtention de Ruby variables d'environnement de Rake
J'ai un Rakefile qui a des tâches pour le déploiement ou la construction d'une application. Cette Rakefile est utilisé à la fois de production et de développement.
Je voudrais le build
tâche de savoir ce que l'environnement est. Cela peut-il se faire sans le passage d'un paramètre à la tâche lorsque je le lance? Peut-il être fait avec des variables d'environnement?
Lorsque dans le développement, j'ai besoin de la tâche à ressembler à ceci:
task :build => :clean do
compass compile -e development
jekyll
end
Et de la production, comme ceci:
task :build => :clean do
compass compile -e production
jekyll
end
Oui, râteau tâches devraient avoir accès à
Je n'ai jamais utilisé
ENV
.Je n'ai jamais utilisé
ENV
, donc si quelqu'un pouvait bien vouloir démontrer comment je pourrais définir la variable (et obtenir). Je suis un rubis n00b.
OriginalL'auteur | 2013-01-22
Vous devez vous connecter pour publier un commentaire.
Oui, vous pouvez utiliser des variables d'environnement. Voici le squelette de la mise en œuvre:
Utilisation:
RAKE_ENV
chaque fois que je lance la commande, ou peut-il se rappeler de moi?ENV inclut toutes les variables d'environnement connu un nouveau processus. Donc, si vous mettez que var dans un
.profile
(ou autre fichier init vous utilisez), il sera rappelé à l'échelle du système redémarre. Vous pouvez choisir n'importe quel nom, par ailleurs, pas nécessairement RAKE_ENV. Assurez-vous simplement que c'est assez unique, de sorte que vous ne pas écraser les autres env var.Dois-je simplement créer un
.profile
fichier dans mon répertoire de projet ou est-ce un système à l'échelle chose?il est dépendant du système. Les différents systèmes (et des coquillages) utiliser différents fichiers. Mais c'est un peu hors-sujet ici. Vous devriez demander que (comment persister env var) sur Super-Utilisateur.
Des acclamations. superuser.com/questions/539913/...
OriginalL'auteur Sergio Tulentsev