यह एक आम समस्या है के साथ स्रोत कोड सिंक्रनाइज़ करने की क्षमता (और मैं चाहता हूँ मैं इसे जल्दी ही पढ़ा था) सभी विकास ही नहीं, ASP.NET के लिए। अपने डेवलपर्स में से एक होने के नाते, मेरी टीम स्वाभाविक रूप से पूरी रिलीज प्रक्रिया के लिए BuildMaster का उपयोग करती है, और अधिकांश परिदृश्यों के लिए यह मुफ़्त है। उपकरण के भीतर, हम कलाकृतियों को बनाने के लिए सभी मानक सीआई निर्माण करने में सक्षम हैं और फिर विशिष्ट कला या पर्यावरण के आधार पर आंतरिक रूप से या बाहरी रूप से होस्ट किए गए 40+ सर्वरों में से किसी एक को इन कलाकृतियों को तैनात करने के लिए एक स्वचालन प्रक्रिया स्थापित कर सकते हैं ।
के बाद से आप विशेष रूप से विभिन्न परीक्षण वातावरण के लिए तैनाती उल्लेख किया है, इस उपकरण का एक मूलभूत पहलू है। विचार पर्यावरण वर्कफ़्लो को मॉडल करना है (उदा। एकीकरण -> क्यूए -> उत्पादन) जो आपके पास पहले से मौजूद है और अनिवार्य रूप से स्रोत नियंत्रण से उत्पादन तक सभी तरह के निर्माण को बढ़ावा देता है। ज्यादातर बार, यह एक तैनाती क्रिया को जोड़ने के समान सरल है जो पर्यावरण के लिए एक आर्टिफैक्ट तैनात करता है, अन्य बार यह अधिक जटिल हो सकता है।
तुम भी लापरवाही से उल्लेख किया विन्यास फाइल परिवर्तन तैनाती का हिस्सा है, जो BuildMaster के लिए एक और निर्मित घटक है कर रहे हैं। हमारे पास यह विचार था कि उपकरण को सभी कॉन्फ़िगरेशन फ़ाइलों और तैनाती के लिए केंद्रीय केंद्र के रूप में उपयोग करना था, इस प्रकार यह सुनिश्चित करना कि नवीनतम परिवर्तन स्वचालित रूप से आपकी तैनाती योजना में एक सरल "तैनाती विन्यास फाइल" कार्रवाई के साथ लागू होते हैं।
एक प्रक्रिया जिसे आपने इस प्रक्रिया के संबंध में उल्लेख नहीं किया है डेटाबेस परिनियोजन पहलू है। अधिकांश एएसपी.नेट अनुप्रयोगों को एक संबंधित डेटाबेस की आवश्यकता होती है, अन्यथा वे केवल स्थिर HTML फाइलें हो सकती हैं। यह महत्वपूर्ण है कि डेटाबेस स्कीमा प्रत्येक तैनाती के साथ उपयुक्त डेटाबेस संस्करण में अद्यतन हो जाए। आश्चर्य की बात नहीं है, BuildMaster के भीतर एक मॉड्यूल जो आपके लिए भी इसे संभालता है। विचार उपकरण के भीतर डीडीएल-डीएमएल स्क्रिप्ट को स्टोर करना है, और स्क्रिप्ट को प्रति माह प्रति माह निष्पादित करके, यह सुनिश्चित करता है कि प्रत्येक वातावरण में आपके सभी डेटाबेस अद्यतित हैं क्योंकि आपके निर्माण उनके द्वारा तैनात किए गए हैं। अन्य स्क्रिप्ट (जैसे संग्रहित प्रक्रियाएं, विचार, ट्रिगर्स इत्यादि) अनिवार्य रूप से कोड फाइलें हैं और इसलिए स्रोत नियंत्रण में हैं। इन ड्रोप-क्रिएट-कॉन्फ़िगर प्रकार स्क्रिप्ट को अधिकांश मामलों में एक साधारण तैनाती कार्रवाई के साथ हर बार चलाया जा सकता है।
तैनाती पहेली का एक और टुकड़ा जो अधिकांश डेवलपर्स के बारे में नहीं सोचते हैं, प्रक्रिया स्वचालन है। इन प्रक्रियाओं को मैन्युअल रूप से करने के लिए कई डेवलपर्स को साइन-ऑफ करने या परिवर्तन अनुरोध फ़ॉर्म भरने की आवश्यकता होती है। फिर, यह सब BuildMaster के भीतर स्वचालित वर्कफ़्लो सेटअप के हिस्से के रूप में उपलब्ध है। आप ऐसे ब्लॉकर्स सेट कर सकते हैं जो पदोन्नति को क्यूए पर्यावरण कहने की अनुमति न दें जब तक सभी यूनिट परीक्षण पास नहीं हो जाते हैं, या स्टेजिंग पर्यावरण को पदोन्नति अवरुद्ध नहीं करते हैं जब तक कि क्यूए टीम के किसी व्यक्ति ने निर्माण को मंजूरी नहीं दी है और आपके मुद्दे ट्रैकिंग टूल में सभी मुद्दों को हल/बंद कर दिया गया है वह विशेष रिलीज।
जबकि मुझे एहसास हुआ कि मैंने जवाब से सीसी.NET छोड़ा है, तो हमारे एप्लिकेशन बिल्डमस्टर के माध्यम से बनाए गए और तैनात किए गए हैं, इसलिए हमें अब इसकी आवश्यकता नहीं है, हालांकि हम एक ड्रॉप स्थान से कलाकृतियों को आसानी से उठा सकते हैं और उन्हें तैनात कर सकते हैं बाद के वातावरण में।
हम्म, हालांकि यह बहुत अच्छा लगता है ... यह स्वचालित निर्माण के परिदृश्य में मदद नहीं करता है (जब तक कि मैं दस्तावेज़ गलत नहीं पढ़ता)। –