Orbit
साझा पर्यावरण चर समूह
An environment variable group holds values that several Orbit projects need, such as a shared API key or a database credential, in one place. Link the group to the projects that need it and every…
Orbit में साझा वातावरण चर समूह एक ऐसी जगह है जहां कई Orbit प्रोजेक्ट्स को आवश्यक मान रखे जाते हैं, जैसे साझा API कुंजी या डेटाबेस क्रेडेंशियल। समूह को उन प्रोजेक्ट्स से लिंक करें जिन्हें इसकी आवश्यकता है और उनके सभी बिल्ड को ये चर मिल जाएंगे, इसलिए कुंजी को रोटेट करना छह संपादन के बजाय एक संपादन है।
Env समूह कहां रहते हैं
Orbit खोलें और शीर्ष-स्तरीय नेविगेशन से Env groups चुनें। पृष्ठ को Shared env var groups कहा जाता है और उन्हें कई Orbit प्रोजेक्ट्स में साझा खाता-स्तरीय समूह के रूप में वर्णित किया जाता है।
समूह प्रोजेक्ट्स के ऊपर बैठते हैं। किसी प्रोजेक्ट के स्वयं के चर अभी भी इसके Env vars टैब पर रहते हैं: Orbit में पर्यावरण चर देखें।
समूह कब उपयोग करें
परीक्षा सरल है: क्या एक ही मान एक से अधिक प्रोजेक्ट्स में चिपकाया जाता है?
अच्छे उम्मीदवार:
- एक साझा विश्लेषण या त्रुटि-ट्रैकिंग कुंजी जिसका उपयोग हर फ्रंट एंड करता है।
- एक रीड रेप्लिका कनेक्शन स्ट्रिंग जिसका उपयोग कई आंतरिक उपकरण करते हैं।
- एक तृतीय-पक्ष API कुंजी एक सेवा के लिए जिससे पूरा खाता बात करता है।
- एक सामान्य फीचर-फ्लैग क्लाइंट टोकन।
खराब उम्मीदवार:
- कुछ भी जो एक प्रोजेक्ट के लिए विशिष्ट है। यह उस प्रोजेक्ट पर है।
- कुछ भी जो उत्पादन और पूर्वावलोकन के बीच अलग है। समूह प्रति वातावरण नहीं हैं, इसलिए एक मान जो वातावरण द्वारा परिवर्तित होता है वह प्रोजेक्ट के स्वयं के वातावरण चर पर है।
समूह बनाना
- New group पर क्लिक करें।
- इसे एक Group name दें, 64 वर्णों तक। इसे इस नाम से रखें कि इसमें क्या है, उदाहरण के लिए सेवा जिससे क्रेडेंशियल संबंधित हैं।
- एक वैकल्पिक Description जोड़ें।
- Create group पर क्लिक करें।
एक खाता 20 समूहों तक रख सकता है। जब आप सीमा पर हों तो बटन (limit reached) दिखाता है और दूसरा बनाना अस्वीकार कर दिया जाता है।
समूह बनाना, संपादन करना और हटाना खाते पर मालिक या व्यवस्थापक भूमिका की आवश्यकता है। डेवलपर और दर्शक समूह देख सकते हैं लेकिन उन्हें बदल नहीं सकते, जो जानबूझकर है: एक समूह संपादन एक बार में कई प्रोजेक्ट्स को बदल देता है।
चर जोड़ना
समूह खोलें और Variables अनुभाग का उपयोग करें:
- Add variable पर क्लिक करें।
- कुंजी और मान दर्ज करें।
- किसी भी संवेदनशील चीज़ के लिए Mark as secret को टिक करें।
- Save group पर क्लिक करें।
गुप्त के रूप में चिह्नित एक चर एन्क्रिप्ट किया जाता है और इसका मान पैनल को बाद में वापस नहीं किया जाता है। सूची कुंजी और मान के बजाय एक Marked as secret (hidden) संकेतक दिखाती है। गैर-गुप्त मान दृश्यमान रहते हैं इसलिए आप उन्हें एक नज़र में जांच सकते हैं।
किसी चर को गुप्त के रूप में चिह्नित करने का मतलब है कि आप इसे पैनल से वापस नहीं पढ़ सकते। यह बिंदु है, लेकिन इसका मतलब यह भी है कि समूह एक पासवर्ड प्रबंधक नहीं है। अधिकृत प्रति वहां रखें जहां आपकी टीम पहले से क्रेडेंशियल रखती है, और समूह को वितरण तंत्र के रूप में मानें।
गुप्त का मान परिवर्तित करने के लिए, नया दर्ज करें और सहेजें। किसी चर को हटाने के लिए, इसकी पंक्ति पर Remove पर क्लिक करें और सहेजें।
प्रोजेक्ट्स को लिंक करना
Linked projects अनुभाग खाते में प्रत्येक प्रोजेक्ट सूचीबद्ध करता है। किसी प्रोजेक्ट को लिंक या अनलिंक करने के लिए क्लिक करें; लिंक किए गए प्रोजेक्ट्स हाइलाइट किए जाते हैं। समूह को लागू करने के लिए सहेजें।
कोई लिंक किए गए प्रोजेक्ट्स के बिना एक समूह कुछ नहीं करता है, और अनुभाग No projects yet कहता है जब तक आप किसी को लिंक न करें।
समूह चर बिल्ड समय पर इंजेक्ट किए जाते हैं, इसलिए किसी प्रोजेक्ट को लिंक करना इसके अगले बिल्ड को प्रभावित करता है, वर्तमान में लाइव डिप्लॉयमेंट को नहीं। यदि आपको परिवर्तन अभी चाहिए, तो पुनः तैनात करें: अपने प्रोजेक्ट को तैनात करना देखें।
प्राथमिकता
नियम पृष्ठ पर कहा जाता है: समूह चर बिल्ड समय पर इंजेक्ट किए जाते हैं, और प्रोजेक्ट-स्तरीय और वातावरण-स्तरीय चर समूह चर के ऊपर प्राथमिकता लेते हैं।
दूसरे शब्दों में, सबसे विशिष्ट जीता है:
- वातावरण-स्तरीय चर, सर्वोच्च प्राथमिकता।
- प्रोजेक्ट-स्तरीय चर।
- समूह चर, सबसे कम।
यह आदेश उपयोगी है, केवल एक तकनीकता नहीं। समूह में साझा डिफ़ॉल्ट सेट करें, और उस एक प्रोजेक्ट पर इसे ओवरराइड करें जिसे कुछ अलग की आवश्यकता है, उस प्रोजेक्ट को समूह से हटाए बिना। पर्यावरण प्रति वातावरण चर देखें वातावरण परत के लिए।
यह समूहों के साथ सबसे आम भ्रम की व्याख्या भी करता है: आप समूह संपादन करते हैं, पुनः तैनात करते हैं, और कुछ नहीं बदलता है, क्योंकि प्रोजेक्ट के पास समान कुंजी के साथ अपना चर है जो चुपचाप जीता है। जब कोई समूह मान अनदेखा प्रतीत होता है तो पहले प्रोजेक्ट के स्वयं के Env vars टैब की जांच करें।
साझा क्रेडेंशियल को रोटेट करना
यह वर्कफ़्लो है जिसके लिए समूह मौजूद हैं:
- प्रदाता पर नई क्रेडेंशियल बनाएं, पुरानी को सक्रिय छोड़ दें।
- समूह में मान संपादन करें और सहेजें।
- प्रत्येक लिंक किए गए प्रोजेक्ट को पुनः तैनात करें, या इसके अगले डिप्लॉयमेंट की प्रतीक्षा करें।
- प्रत्येक प्रोजेक्ट नई क्रेडेंशियल पर काम कर रहा है यह पुष्टि करें।
- प्रदाता पर पुरानी क्रेडेंशियल को रद्द करें।
चरण 5 को पहले करने से आपको एक विंडो मिलती है जहां हर लिंक किए गए प्रोजेक्ट एक बार टूट जाते हैं, जो बिल्कुल वह जोखिम है जो एक साझा क्रेडेंशियल ध्यान केंद्रित करता है।
समूह को हटाना
समूह पर हटाएं क्लिक करें। पुष्टि परिणाम के बारे में विशिष्ट है: भविष्य के बिल्ड इन चर को खो देंगे, और पहले से पूर्ण बिल्ड प्रभावित नहीं होते हैं।
हटाना भी हर प्रोजेक्ट को अनलिंक करता है। इसका मतलब है कि चल रहे डिप्लॉयमेंट उन मानों के साथ जारी रहते हैं जिनके साथ उन्हें बनाया गया था, और प्रत्येक लिंक किए गए प्रोजेक्ट का अगला बिल्ड उनके बिना आता है। यदि ये चर आवश्यक हैं, तो वह बिल्ड विफल होगा या ऐप रनटाइम पर गलत व्यवहार करेगा।
हटाने से पहले, प्रोजेक्ट्स को एक-एक करके अनलिंक करें और प्रत्येक को पुनः तैनात करें, इसलिए आप पता लगाते हैं कि कौन से वास्तव में समूह पर निर्भर हैं इससे पहले कि वे सभी इसे खो दें।
व्यावहारिक सलाह
समूहों को छोटा और उद्देश्यपूर्ण रखें। एक बाहरी सेवा प्रति एक समूह एक विशाल "साझा" समूह को हराता है, क्योंकि यह आपको केवल वे प्रोजेक्ट्स लिंक करने देता है जिन्हें प्रत्येक चीज़ की आवश्यकता है।
कुंजियों को हर जगह एक जैसे नाम दें। यदि एक प्रोजेक्ट SENTRY_DSN पढ़ता है और दूसरा SENTRY_KEY पढ़ता है, तो एक साझा समूह आपकी मदद नहीं कर सकता। पहले नामों को मानकीकृत करें।
सार्वजनिक पूर्वावलोकन के साथ प्रोजेक्ट्स से जुड़े समूह में उत्पादन क्रेडेंशियल न डालें। समूह चर लिंक किए गए प्रोजेक्ट के हर बिल्ड तक पहुंचते हैं, पूर्वावलोकन सहित।
समस्या निवारण
एक बिल्ड चर को नहीं देखता है। पुष्टि करें कि प्रोजेक्ट लिंक किया और सहेजा है, और बिल्ड लिंक किए जाने के बाद चला है। समूह चर अगले बिल्ड से लागू होते हैं।
रनटाइम पर मान गलत है। एक प्रोजेक्ट-स्तरीय या वातावरण-स्तरीय चर समान कुंजी के साथ इसे ओवरराइड कर रहा है। प्रोजेक्ट के Env vars टैब की जांच करें।
समूह बनाना उपलब्ध नहीं है। आप 20-समूह सीमा पर हैं, या आपकी खाता भूमिका मालिक या व्यवस्थापक नहीं है।
किसी गुप्त का मान खाली दिखता है। वह सही है। गुप्त मान सहेजने के बाद पैनल को वापस नहीं किए जाते हैं।
एक प्रोजेक्ट समूह संपादन के बाद टूट गया। समूह में मान को वापस रोल करें और पुनः तैनात करें, फिर पता लगाएं कि किस प्रोजेक्ट को असहमति थी। डिप्लॉयमेंट को रोल करना आपको ऐसा करने के समय चलती साइट को स्वस्थ रखता है।
अगले कहां जाएं
- Orbit में पर्यावरण चर प्रोजेक्ट-स्तरीय चर के लिए।
- पर्यावरण प्रति वातावरण चर ओवरराइड परत के लिए।
- Orbit प्रोजेक्ट सेटिंग्स किसी प्रोजेक्ट के बाकी कॉन्फ़िगरेशन के लिए।