2013-04-18 13 views
8

Zgodnie z Meteor's documentation możemy dołączyć plik ustawień za pomocą wiersza poleceń, aby zapewnić ustawienia specyficzne dla wdrożenia.Uzyskiwanie dostępu do ustawień meteoru w własnym środowisku produkcyjnym

Jednak opcja --settings wydaje się być dostępna tylko za pośrednictwem poleceń run i deploy. Jeśli używam aplikacji Meteor na własną infrastrukturę - jak opisano w sekcji Prowadzenie własnej infrastruktury w sekcji documentation - nie wydaje się, aby można było określić plik ustawień specyficzny dla wdrożenia w dowolnym miejscu procesu.

Czy istnieje sposób dostępu do ustawień Meteor w środowisku produkcyjnym, działającym na mojej własnej infrastrukturze?

Odpowiedz

14

Tak, uwzględnij zawartość ustawień w zmiennej środowiskowej METEOR_SETTINGS. Na przykład,

export METEOR_SETTINGS='{"privateKey":"MY_KEY", "public":{"publicKey":"MY_PUBLIC_KEY", "anotherPublicKey":"MORE_KEY"}}'

a następnie uruchomić aplikację meteor jak zwykle.

Spowoduje to wypełnienie obiektu Meteor.settings normalnym ustawieniem. Dla powyższych ustawień,

Meteor.settings.privateKey == "MY_KEY" #Only on server 
Meteor.settings.public.publicKey == "MY_PUBLIC_KEY" #Server and client 
Meteor.settings.public.anotherPublicKey == "MORE_KEY" #Server and client 

dla naszego project używamy skryptu upstart i umieścić go tam (chociaż dorobkiewicz ma nieco innej składni). Jeśli jednak uruchamiasz go przy użyciu zwykłego skryptu powłoki, wystarczy dołączyć instrukcję export przed poleceniem węzła. Można na przykład mieć skrypt jak:

export METEOR_SETTINGS='{"stuff":"real"}' 
node /path/to/bundle/main.js 

lub

METEOR_SETTINGS='{"stuff":"real"}' node /path/to/bundle/main.js

można znaleźć więcej informacji na temat zmiennych bash here.

+0

Tak, w kodzie "Meteor.settings.privateKey" będzie działać zgodnie z oczekiwaniami? – JT703

+0

Tak. Odpowiedź zredagowana, aby to odzwierciedlić. – jagill

+0

Awesome. Zgaduję, że wyciąg eksportowy jest w twoim kodzie? Czy istnieje pewna lokalizacja w bazie kodu, którą umieścisz w tym stwierdzeniu? –

Powiązane problemy