2008-09-18 16 views
7

हम सीआई के लिए एक CruiseControl.Net/NAnt/Subversion स्टैक का उपयोग करते हैं। प्रत्येक निर्माण के लिए एक नया चेकआउट करना बहुत समय लेने वाला तरीका है, इसलिए वर्तमान में हम केवल एक कार्यशील प्रति पर अपडेट करते हैं। हालांकि, यह संभावना है कि अनाथ फाइलें स्रोत नियंत्रण में हटाए जाने के बाद, कार्यशील प्रति में रह सकती हैं। हमने अपडेट से पहले सभी कोड स्रोत फ़ाइलों को निकालने के लिए NANT डिलीट कार्य का उपयोग करने का प्रयास किया है, लेकिन यह कार्यशील प्रति को दूषित कर सकता है। क्या किसी को स्वच्छ और अद्यतित काम करने वाली प्रतिलिपि बनाने के लिए एक तेज़ तरीका पता है? संपादित करें: हम एसवीएन 1.3.2निरंतर एकीकरण में साफ बनाता है

उत्तर

5

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

1

पर हैं यदि आपकी काम करने वाली प्रतिलिपि में अनाथ फ़ाइलों को एक svn अद्यतन किया गया है तो आपके सबवर्जन संस्करण में एक बग है।

1

आप दैनिक पूर्ण निर्माण कर सकते हैं, और चेक-इन पर निर्माण को छोड़ सकते हैं। इसके अलावा, तैनाती के निर्माण के लिए, हमेशा एक साफ पूर्ण निर्माण का उपयोग करना हमेशा एक अच्छा विचार है।

1

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

आप देखना चाहते हैं कि आपका चेकआउट इतना लंबा क्यों ले रहा है। मैंने एक ही बिल्डर्सवर स्टैक का उपयोग किया है और इसके साथ कभी समस्या नहीं थी। सबवर्सन आमतौर पर निर्माण के मुकाबले कम समय लेता है।

3

हमारे सीसी कार्यान्वयन के साथ हमारे पास एक समान समस्या थी।

हमारा समाधान ... हमने पहले से ही 3:00 बजे रात का निर्माण किया था जो आधार इकाई परीक्षणों के अतिरिक्त लंबे समय तक चलने वाले एकीकरण परीक्षण को निष्पादित करता था। हमने बस 3:00 बजे एक ताजा पेड़ पर पूरी तरह से साफ निर्माण करने का फैसला किया। चूंकि यह रात का मध्य था, यह शायद ही कभी किसी को प्रभावित करता था। अन्य सभी "सामान्य" चेक-इन्स वृद्धिशील बिल्ड चलाते हैं।

संबंधित मुद्दे