2013-02-13 39 views
11

को लाइसेंस कुंजी जोड़ने के बिना नई अवशेष स्थापित करना मैं अपने ओपन सोर्स रेल अनुप्रयोगों (v 3.2.12) में से एक पर नया अवशेष स्थापित करना चाहता हूं। मैं रेपो में लाइसेंस कुंजी नहीं चाहता हूं। मैं इसे एनवीवी जैसे कुछ लोड करना चाहता हूं।रेपो

डिफ़ॉल्ट रूप से newrelic.yml फ़ाइल में लोड किया गया है।

उस YAML फ़ाइल को कहां लोड किया गया है? मुझे लगता है कि मैं इसे मैन्युअल रूप से एक हैश के साथ विलय कर सकता हूं जो ENV हैश से लाइसेंस लोड करता है।

ऐसा करने के तरीके पर कोई संकेत?

उत्तर

14

मैं आपके जैसे ENV पर्यावरण चर के साथ गुप्त कुंजी को संभालने के लिए Figaro gem का उपयोग करता हूं। नई अवशेष के लिए, मेरे पास है:

config/application.yml (.gitignore घ और स्रोत नियंत्रण करने के लिए धक्का दिया नहीं)

# ... 
NEW_RELIC_LICENSE_KEY: {{MY_KEY}} 

जो तब config/newrelic.yml में संदर्भित है:

# ... 
license_key: <%= ENV['NEW_RELIC_LICENSE_KEY'] %> 

कॉन्फ़िगर/application.example.yml नामक एक फ़ाइल आपको स्रोत कोड रेपो पर धक्का देती है ताकि आपको निर्देश दिया जा सके में आर खुद लाइसेंस कुंजी: ऊपर उत्तर देने के लिए
What should be removed from public source control in Ruby on Rails?

+0

द्वारा निर्धारित का उपयोग करेगा यह इस लाइसेंस रखने के लिए महत्वपूर्ण है मुख्य रहस्य? यदि लोग यह कुंजी प्राप्त करते हैं तो लोग क्या कर सकते हैं, झूठी जानकारी के साथ नया अवशेष भरें? – joscarsson

+2

लाइसेंस कुंजी के बाद से ["एजेंट को सर्वर से कनेक्ट होने पर डेटा स्टोर करने के लिए सही खाते का पता लगाने के लिए उपयोग किया जाता है"] (https://docs.newrelic.com/docs/ruby/ruby-agent-configuration), I कहेंगे कि हां, आपकी लाइसेंस कुंजी वाला कोई भी व्यक्ति आपकी सेवा की गुणवत्ता को कम करने, झूठी सूचना के साथ नई अवशेष भरने के लिए इसका उपयोग कर सकता है। नया अवशेष लाइसेंस कुंजी प्रकाशित नहीं करता है लेकिन उन्हें गुप्त रखता है [आपके खाता सेटिंग्स पृष्ठ पर] (https://docs.newrelic.com/docs/subscriptions/license-key) (आपके खाते के पासवर्ड से सुरक्षित), तो मुझे लगता है कि यह है सबसे अच्छा निजी और सार्वजनिक भंडार बंद रखें। –

7

मुझे आईआरसी पर एक उपयोगी उत्तर मिला। newrelic.yml erb interpolated है। मतलब मैं yml फ़ाइल में <%= ENV["NEWRELIC"] %> जोड़ सकता हूं।

0

यह आपके द्वारा पूछे जाने वाले सटीक प्रश्न का जरूरी जवाब नहीं देता है, लेकिन यह आपके अंतिम लक्ष्य को हल कर सकता है।

आम तौर पर इस प्रकार की स्थिति के लिए मैं newglic.yml फ़ाइल को .gitignore में जोड़ता हूं और फिर एक नयाreitive.yml.example बनाता हूं जिसमें सभी गैर संवेदनशील फ़ील्ड भर जाते हैं और कुंजी के लिए एक प्लेसहोल्डर होता है।

इस तरह से मैं इसे विकास के लिए अपनी newrelic.yml फ़ाइल में जोड़ सकता हूं और टेम्पलेट को दूसरों के उपयोग के लिए भी चेक इन कर सकता हूं।

3

हाँ:

config/application.example.yml

# ... 
NEW_RELIC_LICENSE_KEY: # put your license key here 

भी अधिक जानकारी के लिए इस StackOverflow क्यू & एक देखते हैं। भी, यदि आप पर हैं Heroku। NewRelic Addon स्थापित करने के बाद, आप newrelic.yml फ़ाइल डाउनलोड करने और बदलने के license_key: कर सकते हैं:

license_key: <%= ENV['NEW_RELIC_LICENSE_KEY']%>

यह NEW_RELIC_LICENSE_KEY env चर NewRelic ऐड-ऑन

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

  • कोई संबंधित समस्या नहीं^_^