मेरे पास Google क्लाउड बिल्ड ट्रिगर्स के साथ एक सीआई/डीसी पाइपलाइन है जो मेरे कोड को विभिन्न साइटों पर तैनात करता है जिसके आधार पर मैं किस शाखा को धक्का देता हूं। विकसित साइट एक लाइव परीक्षण है - मास्टर में विलय करने से पहले अंतिम जांच, जो उत्पादन साइट पर मास्टर की तैनाती को ट्रिगर करती है।

वर्तमान में, दोनों साइटें एक ही फायरबेस फायरस्टोर डीबी का उपयोग करती हैं, और विकास साइट पर परिवर्तित कोई भी दस्तावेज़ भी उत्पादन साइट पर बदल दिया जाएगा।

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

मैं क्या चाहता हूं कि विकास साइट के लिए केवल फायरस्टोर डेटाबेस के हिस्से तक पहुंच हो, और उत्पादन साइट को दूसरे हिस्से तक पहुंच प्राप्त हो।

लोग यह कैसे करते हैं? क्या यह संभव भी है? क्या कोई बेहतर तरीका है? एक विकल्प जिसके बारे में मैं सोच सकता हूं, प्रमाणीकरण का उपयोग कर रहा है और विभिन्न एक्सेस अनुमतियों के साथ परीक्षण के लिए अलग-अलग खाते बना रहा है, लेकिन यह एक कामकाज लगता है और आदर्श समाधान नहीं है।

1
Davtho1983 22 सितंबर 2020, 13:47

1 उत्तर

सबसे बढ़िया उत्तर

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

यदि आप काम को स्वचालित करने के लिए कुछ स्क्रिप्टिंग लागू करते हैं, तो इस तरह की कई परियोजनाएं पूरी तरह से बनाए रखने योग्य हैं। यह बहुत आम है, और मैं दृढ़ता से यह सोचने का सुझाव देता हूं कि यह आपके लिए कैसे काम करेगा।

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

1
Doug Stevenson 22 सितंबर 2020, 15:33