मेरी कंपनी में हम वर्तमान में हमारे सीआई बिल्डों को तेज करने के लिए विभिन्न रणनीतियों का शोध कर रहे हैं। हमने अपने निर्माण का प्रोफाइल किया है और यह निर्धारित किया है कि हम एक I/O बाधा से बाधित हैं। हमारे पास निकट भविष्य में (~ 1-2 महीने) के साथ निपटने के लिए कुछ विकल्प हैं लेकिन वास्तव में में सुधार देखना चाहते हैं।क्या बिल्ड सर्वर पर रैमडिस्क का उपयोग करना समझदारी है?
मैं चेकआउट और buildfile स्थान के रूप में एक रैमडिस्क उपयोग का प्रस्ताव रखा। बिल्ड आउटपुट और लॉग निश्चित रूप से भौतिक डिस्क पर संग्रहीत किए जाएंगे।
क्या यह एक समझदार चीज है या इस दृष्टिकोण में महत्वपूर्ण कमी है? मैं उन उत्तरों की तलाश नहीं कर रहा हूं जो चीजों के हार्डवेयर पक्ष को देखते हैं, बल्कि सामान्य बिल्ड सिस्टम (जैसे एमएसबिल्ड) और रैमडिस्क के बीच बातचीत से कोई समस्या आएगी और यदि अन्य जोखिम हैं तो मुझे इसके बारे में पता होना चाहिए।
एक साधारण नोट: मुझे लगता है कि आप यहां रात के निर्माण के बारे में बात कर रहे हैं? निश्चित रूप से आपको स्क्रैच और परीक्षणों से अधिकतम बिल्डों को निचोड़ने की आवश्यकता है .. यदि यह दैनिक बनाता है, तो मैं बिल्डिंग समय को अधिकतम 5 एमएन के आसपास रखने का सुझाव देता हूं ताकि डेवलपर्स संभावित समस्याओं पर त्वरित प्रतिक्रिया प्राप्त कर सकें प्रत्येक प्रतिबद्धता: इस मामले में, यह * वृद्धिशील * संकलन करने के लिए उपयोगी समय है, यानी, केवल एक svn (hg/git/etc।) अद्यतन करें, और मेक (या चींटी, नंत, आदि) को फिर से उपयोग करें क्या बदल गया है। एक अच्छी लिखित मेकफ़ाइल के साथ, यह नाटकीय रूप से चीजों को गति दे सकता है। बस मेरे 0.02 € :-) –
मैं यहां सीआई के बारे में बात कर रहा हूं (प्रत्येक प्रतिबद्धता के बाद निर्माण)। हम पहले से ही इसके लिए वृद्धिशील बिल्ड का लाभ उठाते हैं लेकिन धन्यवाद। –
@ क्रिस्टोफ़ मुल्लेर, एक कंबल कथन बनाते हैं कि एक निर्माण 'अधिकतम 5 एमएन' होना चाहिए, निर्माण के आकार, आकार और आवश्यकताओं को जानने के बिना वास्तव में हास्यास्पद है। हमारे पास एक उत्पाद है जो सीआई सर्वर पर चलता है और संकलन और पैकेजिंग सहित दो मिनट से भी कम समय में बनाता है। हमारे पास एक और उत्पाद है जिसमें कई .NET समाधान, कई मूल विंडोज सेवाएं, एकाधिक एडोब फ्लेक्स प्रोजेक्ट्स, यूनिट परीक्षण, कोड कवरेज, पैकेजिंग, और एक परीक्षण रैक में स्वचालित तैनाती शामिल है। पूरी प्रक्रिया (जिनमें से सभी चेक-इन के साथ नहीं चलती हैं) ढाई * घंटे * से अधिक है। –