2011-08-09 18 views
10

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

हमेशा पूर्ण सेटअप का निर्माण और शिपिंग मेरे लिए गलत लगता है और मैं किसी प्रकार की स्वचालित पैच बिल्डिंग स्थापित करना चाहता हूं, लेकिन मुझे यह नहीं पता कि यह कैसे करना है। क्या आपके पास कोई सुझाव है कि मैं यह कैसे कर सकता हूं या मुझे इस विषय पर कुछ जानकारी कहां मिल सकती है? Google अब तक कोई मदद नहीं कर रहा था।

मेरे वर्तमान सेटअप पर कुछ और जानकारी:

भंडार: - Git: - 2 प्रमुख शाखाओं: विकास और मास्टर

बिल्ड सिस्टम: - teamcity - 2 विन्यास: निर्माण के लिए एक प्रत्येक शाखा - निर्माण में केवल एक निर्माण चरण होता है: - नैन धावक: नेंट स्क्रिप्ट भंडार का हिस्सा है और इसमें निम्न लक्ष्य शामिल हैं: स्वच्छ, init, संकलन, परीक्षण, तैनाती, build_setup (inno सेटअप का उपयोग करके)

मुझे लगता है कि मुझे नेंट स्क्रिप्ट को टुकड़ों में विभाजित करना होगा और किसी भी तरह से नए निर्माण कलाकृतियों की तुलना किसी पुराने तरीके से करने और अद्यतन फ़ाइलों वाली पैच बनाने के लिए अलग-अलग निर्माण चरणों का उपयोग करना होगा। क्या मैं सही रास्ते पर हूं और यदि ऐसा है, तो क्या किसी को टीमसिटी को सेटअप करने के तरीके पर एक अच्छा उदाहरण या ट्यूटोरियल पता है।

उत्तर

2

जब तक क्या आपके पास एक बड़े पैमाने पर बहु ​​मेगाबाइट अंतिम-उपयोगकर्ता एप्लिकेशन है, पैच (जो मुझे लगता है कि आप कम से कम होना चाहते हैं) पैदा करने, एक चुनौतीपूर्ण काम है जब से तुम करने के लिए प्रत्येक पिछले संस्करण से पैच प्रदान कर सकें सबसे अद्यतित एक।

वैकल्पिक रूप से, आप ऑटोपॉडेट इंफ्रास्ट्रक्चर में निवेश कर सकते हैं, ताकि एक नया संस्करण जारी होने पर कोई ऐप स्वयं अपडेट हो सके।

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

+0

यह एक ~ 250MB अंतिम-उपयोगकर्ता एप्लिकेशन है, लेकिन आकार उदाहरण फ़ाइलें, ट्यूटोरियल और तृतीय पक्ष निर्भरता के सभी प्रकार से आता है। हमेशा एक सेटअप के निर्माण के बारे में: यह IMHO हमेशा क्योंकि एक सॉफ्टवेयर उपयोगकर्ता मैं हमेशा क्यों एक नया सॉफ्टवेयर है जो मैं बस डाउनलोड और स्थापित पैच डाउनलोड करने के लिए है के रूप में, एक सॉफ्टवेयर के अपने सबसे हाल और सबसे bugfree संस्करण जहाज के लिए बेहतर है। एक autoupdate प्रणाली पैच डाउनलोड और स्थापित नहीं करता है? – Gooo

0

आप माइक्रोसॉफ्ट के ClickOnce अद्यतन/पैच के लिए की तरह कुछ पर गौर करना चाहिए।