Architecture Decision Record

Active theme: Light

← फैसला रिकॉर्ड के उदाहरण

एनवायरनमेंट वेरिएबल कॉन्फिगरेशन

सामग्री:

सारांश

समस्या

हमनी चाहत बानी कि हमनी के एप्लिकेशन आर्टिफैक्ट/बाइनरी/सोर्स से परे कॉन्फिगर कइल जा सके, ताकि एके बिल्ड अपना डिप्लॉयमेंट माहौल के हिसाब से अलग-अलग व्यवहार कर सके।

  • एकरा खातिर, हमनी एनवायरनमेंट वेरिएबल कॉन्फिगरेशन इस्तेमाल करे चाहत बानी।

  • हमनी कॉन्फिगरेशन के ओह फाइल से संभालल चाहत बानी जेकर हमनी संस्करण नियंत्रण कर सकीले।

  • हमनी डेवलपर अनुभव के कुछ सहूलियत देवे चाहत बानी, जइसे ई जानल कि का कॉन्फिगर कइल जा सकेला आ कवनो प्रासंगिक डिफॉल्ट।

फैसला

संबंधित डिफॉल्ट फाइल आ स्कीमा फाइल संगे .env फाइल पर तय भइल।

स्थिति

तय भइल। नया क्षमता जइसे-जइसे आवत जाई ओकरा पर विचार करे खातिर खुला बानी।

ब्योरा

मान्यता

हमनी एप्लिकेशन कोड आ माहौल कोड के अलग करे के पक्ष में बानी। हमनी मान के चलत बानी कि एप्लिकेशन के अलग-अलग माहौल में अलग तरी से काम करे के होला, जइसे विकास माहौल, परीक्षण माहौल, डेमो माहौल, प्रोडक्शन माहौल, वगैरह।

हमनी "12 factor app" के उद्योग अभ्यास के पक्ष में बानी आ संबंधित "15 factor app" अभ्यास के आउर जादा पक्ष में बानी।

हमनी के पहिले के कई परियोजना .env फाइल चाहे अइसने .env डायरेक्टरी के परंपरा इस्तेमाल कइले बाड़ी। एकरा के संस्करण नियंत्रण से बाहर राखल एगो आम अभ्यास ह, आ एकरा के डिप्लॉय करे, संस्करण बनावे, आ संभाले खातिर कवनो आउर तरीका इस्तेमाल कइल जाला।

बंदिश

हमनी गुप्त जानकारी के अपना सोर्स कोड प्रबंधन (SCM) संस्करण नियंत्रण प्रणाली (VCS) से बाहर राखल चाहत बानी।

हमनी लोकप्रिय सॉफ्टवेयर फ्रेमवर्क आ लाइब्रेरी संगे संगतता के लक्ष्य रखल चाहत बानी। उदाहरण खातिर, Node में एनवायरनमेंट वेरिएबल कॉन्फिगरेशन पढ़े खातिर "dotenv" मॉड्यूल बा।

रुख

हमनी कुछ तरीका पर विचार कइनी:

  • कॉन्फिग के एप्लिकेशन में जमा करल जइसे config.js फाइल में।

  • कॉन्फिग के माहौल में जमा करल जइसे .env फाइल में।

  • कॉन्फिग के कवनो जानल जगह से लावल जइसे लाइसेंस सर्वर से।

तर्क

हमनी .env फाइल वाला तरीका एह कारन चुननी:

  • ई लोकप्रिय बा, विशेषज्ञ लोग में भी।

  • ई .env फाइल के पैटर्न के पालन करेला जेकरा के हमनी के टीम कई परियोजना में कई बेर सफलता से इस्तेमाल कइले बाड़ी।

  • ई सादा बा। खास कर, हमनी अबहिन ऊ बड़ समझौता से ठीक बानी जे हमनी देखत बानी, जइसे लाइसेंस सर्वर वाला तरीका के मुकाबले ऑडिट क्षमता के कमी।

असर

हमनी के सार्वजनिक एनवायरनमेंट वेरिएबल कॉन्फिगरेशन के गुप्त जानकारी प्रबंधन से अलग करे के तरीका निकाले के पड़ी।

संबंधित

संबंधित फैसला

हमनी उम्मीद करत बानी कि हमनी के सब एप्लिकेशन ई तरीका इस्तेमाल करी।

हमनी कम-सक्षम तरीका इस्तेमाल करे वाला कवनो एप्लिकेशन, जइसे बाइनरी चाहे सोर्स कोड में हार्डकोड कइल, के अपग्रेड करे के योजना बनाइब।

हमनी जादा-सक्षम तरीका इस्तेमाल करे वाला कवनो एप्लिकेशन, जइसे लाइसेंस सर्वर, के जस के तस राखब।

संबंधित जरूरत

हमनी फाइल खातिर devops क्षमता जोड़ब, जेमें हुक, परीक्षण, आ निरंतर इंटीग्रेशन शामिल बा।

हमनी के सब डेवलपर साथी लोग के ई फैसला पर प्रशिक्षित करे के पड़ी।

संबंधित आर्टिफैक्ट

जहाँ-जहाँ हमनी डिप्लॉय करेनी हर क्षेत्र के अपना .env फाइल आ संबंधित फाइल के जरूरत होई।

संबंधित सिद्धांत

आसानी से पलटे-लायक।

टिप्पणी

उदाहरण फाइल .env:

NAME=Alice Anderson
EMAIL=alice@example.com

उदाहरण फाइल .env.defaults:

NAME=Joe Doe
EMAIL=joe@example.com

खाली कुंजी वाला उदाहरण फाइल .env.schema:

NAME
EMAIL