2013-04-18 4 views
8

उल्का के documentation के अनुसार, हम तैनाती-विशिष्ट सेटिंग्स प्रदान करने के लिए कमांड लाइन के माध्यम से एक सेटिंग फ़ाइल शामिल कर सकते हैं।एक स्व-स्वामित्व वाले उत्पादन पर्यावरण में उल्का सेटिंग्स तक पहुंच

हालांकि, --settings विकल्प केवल run और deploy आदेशों के माध्यम से उपलब्ध है। अगर मैं अपने मेटायर एप्लिकेशन को अपने स्वयं के बुनियादी ढांचे पर चला रहा हूं - जैसा कि के अपने स्वयं के इंफ्रास्ट्रक्चर सेक्शन पर चल रहा है - प्रक्रिया में कहीं भी तैनाती-विशिष्ट सेटिंग्स फ़ाइल निर्दिष्ट करने का कोई तरीका प्रतीत नहीं होता है।

क्या मेरे खुद के बुनियादी ढांचे पर चल रहे उत्पादन वातावरण में उल्का सेटिंग्स तक पहुंचने का कोई तरीका है?

उत्तर

14

हां, एक पर्यावरण चर METEOR_SETTINGS में सेटिंग सामग्री शामिल करें। उदाहरण के लिए,

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

और फिर सामान्य रूप में उल्का अनुप्रयोग चलाने के।

यह Meteor.settings ऑब्जेक्ट को पॉप्युलेट करेगा सामान्य है। उपर्युक्त सेटिंग

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 

हमारे project के लिए के लिए, हम एक upstart स्क्रिप्ट का उपयोग करें और उसे वहां शामिल (हालांकि नवोदय एक अलग वाक्य रचना है)। हालांकि, अगर आप इसे सामान्य शेल स्क्रिप्ट से शुरू कर रहे हैं, तो आपको अपने नोड कमांड से पहले export कथन शामिल करना होगा।

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

या

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

आप बैश चर here बारे में अधिक जानकारी प्राप्त कर सकते हैं: आप कर सकता है, उदाहरण के लिए, की तरह एक स्क्रिप्ट है।

+0

तो, कोड में 'Meteor.settings.privateKey' अपेक्षित के रूप में काम करेगा? – JT703

+0

हाँ। इसका जवाब देने के लिए संपादित उत्तर। – jagill

+0

बहुत बढ़िया। तो, मुझे लगता है कि निर्यात कथन आपके कोड में है? क्या कोडबेज में कोई विशेष स्थान है जिसे आपने वह कथन दिया है? –

संबंधित मुद्दे