मेरी टीम में मेरी एक भूमिका बिल्ड व्यक्ति की है । मैं अपनी बिल्ड स्क्रिप्ट को बनाए रखने / अपडेट करने और निरंतर एकीकरण सर्वर पर 'सुचारू रूप से निर्माण' कर रहा हूं। मुझे आमतौर पर इस नौकरी से ऐतराज नहीं है, हालाँकि अक्सर ऐसा महसूस होता है कि मैं लगातार सीआई सर्वर को बेबीसिट कर रहा हूं।
यह काम कई बार कष्टप्रद हो सकता है क्योंकि अगर निर्माण टूटता है तो मुझे उस कहानी को छोड़ना होगा जो मैं काम कर रहा हूं और बिल्ड विफलता की जांच कर रहा हूं। बिल्ड फेलियर हमारी टीम पर रोज होता है। कभी-कभी डेवलपर्स केवल सीआई सर्वर पर परीक्षण विफल होने से पहले स्थानीय स्तर पर निर्माण नहीं करते हैं। इस स्थिति में मैं जल्दी से उस व्यक्ति को प्राप्त करना पसंद करता हूं जिसके पास 'खराब प्रतिबद्ध' था, इसलिए निर्माण बहुत लंबे समय तक टूटा नहीं रहता है। कभी-कभी (बहुत कम बार) सीआई सर्वर पर एक अजीब स्थिति मौजूद होती है जिसे डीबग करने की आवश्यकता होती है।
मुझे पता है कि कई परिपक्व टीमें कंटिन्यूअस इंटीग्रेशन का उपयोग करती हैं, लेकिन अच्छी प्रथाओं के बारे में बहुत सारी सामग्री नहीं है।
क्या मेरी समस्याएं बताती हैं कि हमारा निरंतर एकीकरण बहुत परिपक्व नहीं है या यह केवल नौकरी का हिस्सा है?
पालन करने के लिए कुछ अच्छे अभ्यास क्या हैं? परिपक्व निरंतर एकीकरण की विशेषताएं क्या हैं ?
अद्यतन करें
कुछ टिप्पणियों का जवाब देने के बजाय मैं एक अपडेट करने जा रहा हूं। हमारे पास एक एकल, सरल कमांड है जो ऐप के निर्माण के दौरान बिल्ट सर्वर क्या करेगा। यह सभी यूनिट / एकीकरण और कुछ त्वरित यूआई आधारित परीक्षणों को संकलित करेगा।
सभी के जवाबों को पढ़कर, ऐसा लगता है कि हमें दो बड़ी समस्याएं हो सकती हैं।
- जब कोई विफलता विफल हो तो CI सर्वर जोर से शिकायत नहीं करता है।
- डेवलपर्स यह महसूस नहीं करते हैं कि यह सुनिश्चित करने के लिए कि उनकी प्रतिबद्धता सफलतापूर्वक चल रही है, हर किसी की जिम्मेदारी नहीं है।
मेरी टीम में जो चीजें कठिन हैं, वह यह है कि हमारे पास एक बड़ी टीम (10+ डेवलपर्स) है और हमारे पास कुछ ऑफ-शो टीम के सदस्य हैं, जब हम काम पर नहीं होते हैं। क्योंकि टीम बड़ी है और हमने स्थापित किया है कि अक्सर छोटे-छोटे काम पसंद किए जाते हैं, हम कभी-कभी एक दिन में बहुत अधिक सक्रिय होते हैं।