Gitignore के साथ निरंतर तैनाती


12

Git के साथ निरंतर परिनियोजन करते समय, आप gitignore में उपेक्षित फ़ाइलों को कैसे संभालते हैं? उन फ़ाइलों को गोपनीयता कारणों से अनदेखा किया जाता है (अर्थात उन्हें अन्य दूरस्थ रिपॉजिटरी की तरह नहीं हटाया जाता है, जैसे GitHub), लेकिन उन उपेक्षित फ़ाइलों को निरंतर परिनियोजन रिपॉजिटरी में नहीं धकेले जाने के कारण, वे अनुप्रयोग नहीं चलेंगे (जैसे कि इग्नोर की गई फ़ाइलें हैं) सॉफ्टवेयर को सही ढंग से कार्य करने के लिए आवश्यक है)।

लोग आमतौर पर इस बारे में कैसे जाते हैं? इस मामले में, क्या गिट की अनदेखी फाइलों के कारण निरंतर तैनाती के लिए सबसे अच्छा उम्मीदवार नहीं है?


2
मैं इस प्रश्न को ऑफ-टॉपिक के रूप में बंद करने के लिए मतदान कर रहा हूं क्योंकि यह एक न्यूनतम, बुनियादी शोध प्रयास नहीं दिखाता है।
स्कैंट रोजर

3
मैं शोध के प्रयासों में कमी नहीं देख रहा हूं। ओपी को समझ में आता है कि gitignore क्या करता है पूरी तरह से अच्छी तरह से। मुझे जो दिखाई दे रहा है वह एक XY समस्या है, लेकिन क्योंकि X और Y दोनों को प्रश्न में समझाया गया है, Doc एक अच्छा उत्तर लिखने में सक्षम था जो उम्मीद करता है कि ओपी की वास्तविक समस्या को हल करता है।
Ixrec

1
@ScantRoger: ईमानदारी से, सवाल बेहतर लिखा जा सकता है, लेकिन यह इतना बुरा है कि यह एक करीबी वोट का हकदार है।
डॉक्टर ब्राउन

जवाबों:


14

यदि आपका सॉफ़्टवेयर उन फ़ाइलों के बिना नहीं चलता है, तो आपको किसी भी प्रकार की तैनाती, मैनुअल, स्वचालित या निरंतर, किसी भी प्रकार के वीसीएस के साथ या यहां तक ​​कि बिना किसी वीसीएस के साथ समस्या होगी। तो या तो अपने सॉफ़्टवेयर को बदल दें ताकि यह वास्तव में उन फ़ाइलों के बिना चल सके (उदाहरण के लिए, यह किसी तरह के "डिफ़ॉल्ट पैरामीटर" मान सकता है यदि फाइलें गायब हैं), या आप तैनाती के लिए उपयुक्त उन फ़ाइल के कुछ संस्करण प्रदान करते हैं (जो गंतव्य वातावरण के लिए परिनियोजन चरण के भाग) के मामले में उन फ़ाइलों का कोई "निजी" संस्करण नहीं है।

यदि आप सर्वर पर लॉगऑन करने के लिए डेटाबेस क्रेडेंशियल्स वाली फाइल जैसी किसी चीज के बारे में बात कर रहे हैं, जो सुरक्षा कारणों से, आप संस्करण नियंत्रण में नहीं रहना चाहते हैं, तो आपको उस फाइल को एक बार तैनाती वातावरण में रखना होगा , शायद मैन्युअल रूप से , एक व्यक्ति के पास जिसके पास पर्याप्त अधिकार हैं या पासवर्ड जानता है। लेकिन यह जानबूझकर है और आपको अपने सॉफ़्टवेयर के दैनिक नए संस्करणों को तैनात करने से रोकना नहीं चाहिए। यह सुनिश्चित करें कि जब आप एक नया संस्करण तैनात करते हैं, तो क्रेडेंशियल फ़ाइलें जगह में नहीं लिखी जाती हैं।


सहमत, यदि vcs से जांच करना निर्माण और चलाने के लिए पर्याप्त नहीं है, तो कम क्षमता में, तो आपका स्रोत पेड़ अधूरा है।
न्यूटॉपियन

@ न्यूटोपियन: ध्यान दें कि यह वास्तव में जानबूझकर और सही हो सकता है (मेरा उदाहरण देखें)।
डॉक्टर ब्राउन

2

एक अन्य विकल्प संवेदनशील जानकारी को आपके परिनियोजन उपकरण के अंदर संग्रहीत करना है। और एक अलग निजी स्रोत भंडार में तैनाती उपकरण विन्यास।

लक्ष्य मशीन पर संवेदनशील डेटा को छोड़ना काम करता है, लेकिन थोड़ा सड़ सकता है - कोई इसे प्रक्रियाओं का पालन नहीं करता है, मशीन ब्रेक और कोई भी सही सेटिंग्स आदि को याद नहीं करता है ...

उदाहरण के लिए साल्टस्टैक में https://docs.saltstack.com/en/latest/topics/pillar/index.html है

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