विजुअल स्टूडियो में स्वचालित रूप से बिल्ड बैकअप कैसे बनाएं

विषयसूची:

विजुअल स्टूडियो में स्वचालित रूप से बिल्ड बैकअप कैसे बनाएं
विजुअल स्टूडियो में स्वचालित रूप से बिल्ड बैकअप कैसे बनाएं

वीडियो: विजुअल स्टूडियो में स्वचालित रूप से बिल्ड बैकअप कैसे बनाएं

वीडियो: विजुअल स्टूडियो में स्वचालित रूप से बिल्ड बैकअप कैसे बनाएं
वीडियो: How to make passwords more secure - YouTube 2024, मई
Anonim
यदि आप एक व्यक्ति विकास टीम हैं, तो संभवतः आपको पूरी तरह से पूर्ण संस्करण नियंत्रण प्रणाली की आवश्यकता नहीं है, फिर भी प्रत्येक रिलीज़ संस्करण के लिए स्रोत कोड बैकअप बनाना निस्संदेह महत्वपूर्ण है।
यदि आप एक व्यक्ति विकास टीम हैं, तो संभवतः आपको पूरी तरह से पूर्ण संस्करण नियंत्रण प्रणाली की आवश्यकता नहीं है, फिर भी प्रत्येक रिलीज़ संस्करण के लिए स्रोत कोड बैकअप बनाना निस्संदेह महत्वपूर्ण है।

पोस्ट-बिल्ड इवेंट्स और एक साधारण बैच स्क्रिप्ट की शक्ति का लाभ उठाकर, आप आसानी से विजुअल स्टूडियो को प्रत्येक रिलीज कोड बिल्ड के लिए स्रोत कोड बैकअप बनाने की क्षमता जोड़ सकते हैं।

यह काम किस प्रकार करता है

हमारा समाधान सरल है: जब भी एक सफल निर्माण घटना होती है, तो हमारे पास एक बैच स्क्रिप्ट रन होता है जो संबंधित विजुअल स्टूडियो प्रोजेक्ट फ़ोल्डर में सभी फ़ाइलों का संकुचित संग्रह (वैकल्पिक रूप से टैग और टाइमस्टैम्प) बनाता है।

बस। आपको बस नीचे दिए गए चरणों का पालन करना है।

स्वचालित बिल्ड बैकअप सेट अप करना

सबसे पहले आपको लेख के निचले हिस्से में दिए गए लिंक से बैच स्क्रिप्ट फ़ाइल को डाउनलोड और निकालने की आवश्यकता होगी। इसके अतिरिक्त, आपको 7-ज़िप कमांड लाइन टूल की आवश्यकता होगी (इसे प्रोजेक्ट बिल्ड बैकअप स्क्रिप्ट के 'पूर्ण' संस्करण के साथ शामिल किया गया है, या आप इसे अलग से डाउनलोड कर सकते हैं)। हमारे उदाहरण में, हमने इन फ़ाइलों को "सी: टूल्स" निर्देशिका में निकाला, लेकिन कोई भी स्थान काम करेगा।

संबंधित परियोजना के तहत मेरी परियोजना पर डबल-क्लिक करके, अपने विजुअल स्टूडियो प्रोजेक्ट गुणों को खोलें।

प्रोजेक्ट गुणों में, संकलन खंड पर जाएं।
प्रोजेक्ट गुणों में, संकलन खंड पर जाएं।
निचले दाएं कोने में, ईवेंट बनाएं बटन पर क्लिक करें।
निचले दाएं कोने में, ईवेंट बनाएं बटन पर क्लिक करें।
हमारे मामले में, हम एक सफल संकलन कार्रवाई के बाद बैकअप बनाना चाहते हैं। सुनिश्चित करें कि आपके पास "सफल निर्माण पर" पोस्ट-बिल्ड ईवेंट चलाने का विकल्प है और फिर पोस्ट-बिल्ड बटन संपादित करें पर क्लिक करें।
हमारे मामले में, हम एक सफल संकलन कार्रवाई के बाद बैकअप बनाना चाहते हैं। सुनिश्चित करें कि आपके पास "सफल निर्माण पर" पोस्ट-बिल्ड ईवेंट चलाने का विकल्प है और फिर पोस्ट-बिल्ड बटन संपादित करें पर क्लिक करें।
नीचे दिया गया आदेश केवल रिलीज कॉन्फ़िगरेशन के संकलन के लिए एक बिल्ड बैकअप बनाता है (यह वही है यदि IF स्थिति जांचता है), वास्तव में, हम शायद प्रत्येक डीबग / परीक्षण निर्माण का बैकअप बनाना नहीं चाहते हैं। इसके अतिरिक्त, वर्तमान टाइमस्टैम्प को ज़िप के विपरीत 7z फ़ाइल प्रारूप (/ 7z) में बैकअप फ़ाइल के साथ जोड़ा जाएगा (/ डी स्विच)। पैरामीटर के रूप में / टी "$ (कॉन्फ़िगरेशन नाम)" जोड़कर, हम बैकअप फ़ाइल के नाम पर बिल्ड प्रकार (इस मामले में रिलीज़) को जोड़ रहे हैं।
नीचे दिया गया आदेश केवल रिलीज कॉन्फ़िगरेशन के संकलन के लिए एक बिल्ड बैकअप बनाता है (यह वही है यदि IF स्थिति जांचता है), वास्तव में, हम शायद प्रत्येक डीबग / परीक्षण निर्माण का बैकअप बनाना नहीं चाहते हैं। इसके अतिरिक्त, वर्तमान टाइमस्टैम्प को ज़िप के विपरीत 7z फ़ाइल प्रारूप (/ 7z) में बैकअप फ़ाइल के साथ जोड़ा जाएगा (/ डी स्विच)। पैरामीटर के रूप में / टी "$ (कॉन्फ़िगरेशन नाम)" जोड़कर, हम बैकअप फ़ाइल के नाम पर बिल्ड प्रकार (इस मामले में रिलीज़) को जोड़ रहे हैं।

IF “$(ConfigurationName)” == “Release” CALL C:ToolsProjectBuildBackup.bat “$(SolutionDir)” “$(ProjectDir)” “$(ProjectName)” /T “$(ConfigurationName)” /D /7z

मैक्रोज़ बटन का उपयोग करके, आपके पास विजुअल स्टूडियो प्रीफिल प्रोजेक्ट विशिष्ट जानकारी हो सकती है ताकि कोई हार्डकोडिंग आवश्यक न हो। आप इस कमांड को आवश्यकतानुसार समायोजित कर सकते हैं (विशेष रूप से बैच फ़ाइल का स्थान), लेकिन पहले तीन पैरामीटर को बदलने की आवश्यकता नहीं होगी।

यह ध्यान रखना महत्वपूर्ण है कि पोस्ट-इवेंट ऑपरेशंस को प्रोजेक्ट कॉन्फ़िगरेशन के बावजूद चलाया जाता है। यही कारण है कि हमें IF "$ (ConfigurationName)" == "रिलीज़" कथन जोड़ने की आवश्यकता है - अन्यथा बैकअप कार्रवाई चालू होगी हर एक सफल निर्माण घटना।

एक बार जब आप अपना आदेश पूरा कर लेते हैं और इसे लागू करते हैं, तो कमांड स्ट्रिंग पोस्ट-बिल्ड इवेंट सेक्शन में दिखाई देनी चाहिए।
एक बार जब आप अपना आदेश पूरा कर लेते हैं और इसे लागू करते हैं, तो कमांड स्ट्रिंग पोस्ट-बिल्ड इवेंट सेक्शन में दिखाई देनी चाहिए।

ध्यान दें कि "कॉल" कमांड तकनीकी रूप से आवश्यक नहीं है, लेकिन इसकी अत्यधिक अनुशंसा की जाती है, जैसे कि यह छोड़ा गया है, इसके बाद जोड़ा गया कोई भी ईवेंट निष्पादित नहीं हो सकता है।

अब जब भी आप रिलीज कॉन्फ़िगरेशन में अपनी प्रोजेक्ट के साथ संकलन / निर्माण चलाते हैं, तो आप बिल्ड बैकअप ऑपरेशन से आउटपुट देखेंगे।
अब जब भी आप रिलीज कॉन्फ़िगरेशन में अपनी प्रोजेक्ट के साथ संकलन / निर्माण चलाते हैं, तो आप बिल्ड बैकअप ऑपरेशन से आउटपुट देखेंगे।
[…]
[…]
प्रत्येक सफल रिलीज बिल्ड एक उपनिर्देशिका में समाधान फ़ोल्डर के साथ एक नया टाइमस्टैम्प संग्रह बनाता है, "बिल्ड्स" (यदि आवश्यक हो तो / ओ स्विच के साथ कस्टम परिभाषित किया जा सकता है)।
प्रत्येक सफल रिलीज बिल्ड एक उपनिर्देशिका में समाधान फ़ोल्डर के साथ एक नया टाइमस्टैम्प संग्रह बनाता है, "बिल्ड्स" (यदि आवश्यक हो तो / ओ स्विच के साथ कस्टम परिभाषित किया जा सकता है)।
प्रत्येक बैकअप की सामग्री पूर्ण विजुअल स्टूडियो प्रोजेक्ट - स्रोत फाइलें, कॉन्फ़िगरेशन सेटिंग्स, संकलित बाइनरी और सभी - जो इसे समय बैकअप में एक वास्तविक बिंदु बनाती है।
प्रत्येक बैकअप की सामग्री पूर्ण विजुअल स्टूडियो प्रोजेक्ट - स्रोत फाइलें, कॉन्फ़िगरेशन सेटिंग्स, संकलित बाइनरी और सभी - जो इसे समय बैकअप में एक वास्तविक बिंदु बनाती है।
Image
Image

एक पूर्ण संस्करण नियंत्रण प्रणाली के लिए एक प्रतिस्थापन नहीं है

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

घटना में आपको कभी भी वापस जाना होगा और एक पूर्व संस्करण की जांच करना होगा, एक उपयोग में उपयोग करने के लिए (केवल एक नई निर्देशिका में निकालें) परियोजना संकलन समय बिंदु संकलन के लिए प्रोजेक्ट फ़ाइल वास्तव में काम में आ सकता है।

लिंक

प्रोजेक्ट बिल्ड बैकअप स्क्रिप्ट डाउनलोड करें

7-ज़िप कमांड लाइन टूल डाउनलोड करें (नोट - 7 बिल्ड यूटिलिटी को प्रोजेक्ट बिल्ड बैकअप स्क्रिप्ट से डाउनलोड के साथ भी बंडल किया गया है)

सिफारिश की: