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