मैं अपनी कंपनी में सीआई स्केल करने की समस्या से निपट रहा हूं और साथ ही यह पता लगाने की कोशिश कर रहा हूं कि सीआई और कई शाखाओं की बात कब होती है। स्टैक ओवरफ्लो, Multiple feature branches and continuous integration पर एक समान प्रश्न है। मैंने एक नया शुरू किया है क्योंकि मैं अधिक चर्चा करना चाहता हूं और प्रश्न में कुछ विश्लेषण प्रदान करना चाहता हूं।निरंतर एकीकरण में एकाधिक शाखाओं को संभालना
अब तक मुझे पता चला है कि 2 मुख्य दृष्टिकोण हैं जिन्हें मैं ले सकता हूं (या शायद कुछ अन्य ???)।
- नौकरियों शाखा प्रति टूलींग
- लिखें अतिरिक्त नौकरियों
- बनाएं/संशोधित/बड़ी मात्रा में हटाने नौकरियां
- कस्टम सेटिंग को प्रबंधित करने (जेनकींस/हडसन के बारे में यहाँ बात कर) के एकाधिक सेट प्रति शाखा प्रत्येक नौकरी के लिए (एससीएम यूआरएल, डीपी प्रबंधन डुप्लिकेशंस repos)
- शैल टूल्स, चींटी स्क्रिप्ट और जेनकिंस सीएलआई के साथ इस समस्या से निपटने वाले लोगों के कुछ उदाहरण। देखें:
- http://jenkins.361315.n4.nabble.com/Multiple-branches-best-practice-td2306578.html
- http://jenkins.361315.n4.nabble.com/Is-it-possible-to-handle-multiple-branches-where-some-jobs-should-run-on-each-one-without-duplicatin-td954729.html
- http://jenkins.361315.n4.nabble.com/Parallel-development-with-branches-td1013013.html
- Configure or Create hudson job automatically
- अपने सीआई क्लस्टर पर अधिक लोड के कारण होगा devs के लिए
- प्रतिक्रिया चक्र को धीमा कर देती है (अगर बुनियादी ढांचे नए लोड को संभाल नहीं सकते)
- लिखें अतिरिक्त नौकरियों
- 2 शाखाओं (देव & स्थिर)
- मैन्युअल दो सेट की व्यवस्था करें (यदि आप एक नौकरी की conf बदल तो दूसरी शाखा में परिवर्तित करना सुनिश्चित करें)
-
प्रति नौकरियों के एकाधिक सेट
- PITA लेकिन कम से कम इतना कुछ
- अन्य अतिरिक्त शाखाओं का प्रबंधन करने के लिए एक पूर्ण टेस्ट स्वीट नहीं मिलेगा इससे पहले कि वे देव को धक्का दे दिया हो
- असंतुष्ट देव। सीआई स्केलिंग समस्याओं के बारे में एक देव देखभाल क्यों करनी चाहिए। उसके पास एक आसान अनुरोध है, जब मैं शाखा करता हूं तो मैं अपने कोड का परीक्षण करना चाहता हूं। सरल।
- मैन्युअल दो सेट की व्यवस्था करें (यदि आप एक नौकरी की conf बदल तो दूसरी शाखा में परिवर्तित करना सुनिश्चित करें)
तो ऐसा लगता है कि अगर मैं अपने स्वयं के कस्टम शाखाओं के लिए सीआई के साथ devs प्रदान करने के लिए मैं जेनकींस (एपीआई या shellscripts या कुछ और?) के लिए विशेष टूलींग की जरूरत चाहते हैं और स्केलिंग संभाल। या मैं उन्हें डीवी को अधिक बार विलय करने और कस्टम शाखाओं पर सीआई के बिना रहने के लिए कह सकता हूं। आप कौन से विकल्प लेते हैं या अन्य विकल्प हैं?
टॉम, यह केवल तभी काम करता है यदि 1) रिलीज और अपडेट दोनों अपेक्षाकृत आसान हैं 2) आपके अधिकांश परिवर्तन अच्छी तरह से अलग हैं। यह वेब देव के लिए सच है, लेकिन यदि आप बॉक्स किए गए उत्पाद रिलीज कर रहे हैं तो स्थिर संस्करणों को हर कीमत पर स्थिर रहना होगा, क्योंकि बड़े कॉर्पोरेट वातावरण में हॉटफिक्सेस वास्तव में महंगा या असंभव हैं। –
वास्तविक सीआई केवल एकीकृत करने के बारे में नहीं है, यह प्रतिक्रिया –
के बारे में भी है, मैंने इसे उत्तर के रूप में चुना है (कम से कम बक्षीस दिया है, कृपया मुझे बताएं अगर मुझे किसी भी तरह से इसे सही चिह्नित करने की आवश्यकता है) लेकिन मुझे लगता है कि यह नहीं है मेरी समस्या का समाधान मैंने http://www.zeroturnaround.com/blog/continuous-integration-and-feature-branches/ – toomasr