प्रति पर्यावरण कॉन्फ़िगरेशन को संग्रहीत करने के लिए उपकरण


11

मुझे एक उपकरण में प्रति पर्यावरण के आधार पर कॉन्फ़िगरेशन जानकारी संग्रहीत करने की आवश्यकता है।

यह कॉन्फ़िगरेशन मानों (जैसे कनेक्शन स्ट्रिंग्स) को जोड़ने / अपडेट करने के लिए GUI के साथ एक उपकरण है। इसका डिफ़ॉल्ट मान होना चाहिए और विभिन्न वातावरणों के आधार पर इसे बदलने में सक्षम होना चाहिए।

एप्लिकेशन को जोड़ने के लिए किसी विशेष वातावरण में परिनियोजन के दौरान इन कॉन्फ़िगरेशन मानों को प्राप्त करने के लिए एक एपीआई होना चाहिए।

मैंने कुछ समय के लिए खोज की है और इस बिल को फिट करने वाले किसी भी उपकरण को नहीं देख सकता। क्या कोई सुझाव हैं?

नोट : वर्तमान में सेटिंग्स टीमसिटी वेरिएबल्स में हैं और तैनाती पॉवरशेल स्क्रिप्ट के माध्यम से है।


सशुल्क चीजों के लिए? क्या आपके पास कोई विन्यास प्रबंधन प्रणाली है? आप तैनात करने के लिए क्या उपयोग करते हैं?
तेंसिबाई

सशुल्क विकल्पों को कॉन्फ़िगर किया जाएगा। वर्तमान में सेटिंग्स TeamCity चर में हैं और तैनाती PowerShell स्क्रिप्ट के माध्यम से है।
टिम

कड़ाई से जवाब नहीं, इसलिए एक टिप्पणी - क्या आपने तैनाती के लिए ऑक्टोपस डिप्लॉय का उपयोग करने पर विचार किया है क्योंकि इससे आप अत्यधिक लचीले तरीके से पर्यावरण कॉन्फ़िगरेशन का प्रबंधन कर सकते हैं।
रिचर्ड स्लेटर

यदि आप स्पार्स शाखा स्रोत नियंत्रण प्रणाली का उपयोग करते हैं, जैसे कि ClearCase, आप केवल संशोधनों के साथ फ़ाइलों को शाखा कर सकते हैं, तो आप वीसीएस में ओएसडी (ऑपरेटिंग सिस्टम डिपेंडेंट) परिवर्तनों से निपटने के लिए रणनीतियों को देख सकते हैं। यदि आप गिट का उपयोग करते हैं, तो आपको लगातार गैर-डिफ़ॉल्ट शाखाओं को रिबास करते रहना होगा। कुछ कॉन्फ़िगरेशन उपकरण प्रति वातावरण सेटिंग चर के माध्यम से है। Ansible में मेरे पास नॉन-प्रोडक्शन वातावरण के लिए वैरिएबल डिफॉल्ट और ओवरले के साथ फाइल है। CI टूल में कोई भी सेटिंग न रखें, वे सभी VCS में होने चाहिए। सहित टीसी कॉन्फ़िगर करता है।
जिरी क्लौडा

स्रोत के साथ सभी कॉन्फ़िगरेशन को संग्रहीत करने की अनुशंसा करें। हमारे पास कई azure सेवाएं हैं और सभी पर्यावरण अनुकूलन के लिए azure रूपांतरण सिंटैक्स का उपयोग करें। msdn.microsoft.com/en-us/library/dd465318(v=vs.100).aspx देखें । और हम वास्तव में स्थापना के हिस्से के रूप में तैनाती के समय में शक्तियां के साथ ऐसा करते हैं। इस बात पर निर्भर करता है कि आप पाइपलाइन में कहाँ हुक करते हैं, आप बॉक्स पर बिट्स डालने से पहले कर सकते हैं या पासवर्ड के लिए, बाद में। हम रहस्यों के लिए एज़्योर की वॉल्ट का उपयोग करते हैं ताकि वे स्रोत नियंत्रण में कभी न दिखें।
कोई वापसी नहीं

जवाबों:


6

कई उपकरण हैं जो इस तरह से कुछ कर सकते हैं, जिसमें कॉन्फ़िगरेशन प्रबंधन उपकरण जैसे शेफ, Ansible या कठपुतली शामिल हैं; और केवीएस उपकरण जैसे कौंसुल और कॉर्ड। आप इसे अपने CI सर्वर में एक बिल्ड स्टेप के रूप में भी एकीकृत कर सकते हैं, या किसी बाहरी कॉन्फ़िगरेशन स्टोर (फिर से, कंसुल या कुछ और जैसे डेटाबेस) के खिलाफ रनटाइम पर लाइव कॉन्फ़िगरेशन का उपयोग करके समस्या को रोक सकते हैं।


1

संभवतः एक अलग रेपो? क्यूए, यूएटी, उत्पादन (न तो अधिक) के लिए शाखाओं के साथ एक। एक रेपो जो आपके नियमित "कोड के रूप में कोड" और "इन्फ्रास्ट्रक्चर कोड के रूप में" रेपो के लिए अलग है।

यह अति सूक्ष्म है। एनवी प्रति कितना कॉन्फ़िगर है। यह रिलीज के बीच टॉगल किया जाता है? क्या उन टॉगल राज्यों को द्विआधारी deploys के बावजूद राज्य बनाए रखना चाहिए। क्लाइंट, ग्राहक, अतिथि या उपयोगकर्ता में से कौन आपके लिए कॉन्फिग बनाए रखता है?

मैंने 5 वर्षों में इस विषय पर ब्लॉग प्रविष्टियों (और प्रोटोटाइप / डेमो) का एक गुच्छा लिखा है - toggling (यदि आपको उनकी आवश्यकता है) के लिए UI सहित।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.