मैं सीआई के बारे में सोच रहा हूं और स्वचालित रूप से बहुत हाल ही में बनाता है और यह जानने में दिलचस्पी है कि निरंतर एकीकरण वातावरण स्थापित करने और बनाए रखने के लिए कोई सर्वोत्तम प्रथा है या नहीं। क्या आप अपनी सभी सीआई संबंधित फाइलों को अपने प्रोजेक्ट स्रोत से चेक इन करते हैं? आप आमतौर पर अपने सीआई कैसे बनाते हैं और फाइलें कैसे बनाते हैं? किसी भी सुझाव का स्वागत है!निरंतर एकीकरण - सर्वोत्तम प्रथाओं
उत्तर
आप पहले से ही, निश्चित रूप से बाहर मार्टिन Fowler श्रृंखला, डुवाल/मतयास/ग्लोवर द्वारा से Continuous Integration चेक बुक नहीं किया है। यह ठोस उदाहरणों के साथ गहराई से पूछे जाने वाले सभी प्रश्नों को शामिल करता है।
भी व्यावहारिक श्रृंखला '"Pragmatic Project Automation" है।
बेशक, निर्माण करने के लिए आवश्यक सभी फाइलों की जांच की जानी चाहिए। सीआई उन्हें और कैसे प्राप्त करेगा?
मैंने जावा के साथ सीआई का उपयोग किया है, इसका मतलब है कि एक चींटी build.xml और या तो क्रूज़ कंट्रोल, टीम सिटी, या हडसन। यदि आप अपनी परियोजनाओं के लिए एक सतत निर्देशिका संरचना के साथ चिपकते हैं तो build.xml सामान्य होने के लिए संभव है।
हाँ। आपको अपने बिल्ड सर्वर पर कई चीजें इंस्टॉल करने की आवश्यकता होगी, लेकिन लक्ष्य है कि आपकी सभी सीआई-संबंधित फाइलें स्रोत नियंत्रण के अंतर्गत हों (और सीआई सर्वर वहां से फ़ाइलों को खींचें)। हम सी # विकास के लिए टीमसिटी का उपयोग करते हैं। यदि कोई निर्माण जटिल हो जाता है, तो हम NANT का उपयोग करते हैं (जो एमएसबिल्ड भी कह सकता है)। – TrueWill
यदि आपकी बिल्ड स्क्रिप्ट बड़ी हो रही है तो आप इसे विभाजित कर सकते हैं और प्रासंगिक भागों को शामिल कर सकते हैं। यह रखरखाव और पठनीयता बेहतर बनाता है।
मेरी अन्य सलाह पारंपरिक प्रोग्रामिंग के विपरीत होगी - जब बिल्ड स्क्रिप्ट बनाने पर टिप्पणियों की उदार मात्रा का उपयोग किया जाता है।
- एक चरण निर्माण के साथ शुरू करें। यदि आपके पास ऐसा नहीं है, तो आपके पास कोई उचित सीआई
- यदि यह स्रोत नियंत्रण में नहीं है, तो यह
- मौजूद नहीं है यदि आपके सीआई की स्थापना और रखरखाव एक डेवलपर स्थापित करने के प्रयास से अधिक है वर्कस्टेशन तो आप अपने आईडीई पर अत्यधिक निर्भर हैं या आपकी परियोजना संरचना अत्यधिक जटिल है। एक रिफैक्टरिंग अवसर के रूप में विचार करें।
- आपको सीआई करने के लिए कुछ भी पसंद नहीं है। आपको यह जानने की भी आवश्यकता नहीं है कि यह क्या करना है। मैंने my earlier experience here लिखा, जब मैंने कभी सीआई शब्द सुनाई से पहले एक बेवकूफ सीआई लागू किया।
लोकप्रिय जेनकिंस/हडसन सीआई उपकरण के संस्थापक कोहसुके कवागुची ने सिर्फ एक श्वेत पत्र प्रकाशित किया जो आपको उपयोगी हो सकता है। 7 Ways to Optimize Jenkins
- 1. PHP विकास पर्यावरण सर्वोत्तम प्रथाओं
- 2. निरंतर एकीकरण के लिए जांचें
- 3. विंडोज एज़ूर और निरंतर एकीकरण
- 4. निरंतर एकीकरण के लिए "Arcane एकीकरण" से माइग्रेट कैसे करें?
- 5. निरंतर एकीकरण और क्यूए
- 6. बांस निरंतर एकीकरण
- 7. निरंतर एकीकरण बिल्ड कॉन्फ़िगरेशन
- 8. जेएसटीएस्टड्रिवर और निरंतर एकीकरण
- 9. छवि ऑल्ट सर्वोत्तम प्रथाओं
- 10. एसपीएल Autoloading सर्वोत्तम प्रथाओं
- 11. ओपन VAO सर्वोत्तम प्रथाओं
- 12. नामकरण कुकीज़ - सर्वोत्तम प्रथाओं
- 13. एक्शनलिस्टर सर्वोत्तम प्रथाओं
- 14. सर्वोत्तम प्रथाओं एप्लिकेशन
- 15. शेयरपॉइंट सूची सर्वोत्तम प्रथाओं
- 16. डाटाबेस सर्वोत्तम प्रथाओं
- 17. फ्लेक्स सर्वोत्तम प्रथाओं?
- 18. NAnt सर्वोत्तम प्रथाओं
- 19. PHP सर्वोत्तम प्रथाओं?
- 20. कार्य रद्दीकरण सर्वोत्तम प्रथाओं
- 21. फ्रैगमेंट सर्वोत्तम प्रथाओं
- 22. सीएसएस रूपरेखा सर्वोत्तम प्रथाओं
- 23. HttpRuntime.Cache सर्वोत्तम प्रथाओं
- 24. विंडोज रजिस्ट्री सर्वोत्तम प्रथाओं
- 25. आईओएस Prefix.pch सर्वोत्तम प्रथाओं
- 26. फॉर्म स्टाइलिंग सर्वोत्तम प्रथाओं
- 27. MATLAB प्रोग्रामिंग सर्वोत्तम प्रथाओं
- 28. MySQL प्रतिकृति सर्वोत्तम प्रथाओं
- 29. क्रूज़ कंट्रोल.Net सर्वोत्तम प्रथाओं
- 30. कैशिंग सर्वोत्तम प्रथाओं
आवंटित करने के लिए सीआई चीजें प्लेटफ़ॉर्म स्वतंत्र हैं लेकिन आप अपने सीआई को कैसे बनाते हैं और आपके प्रश्न का फाइल हिस्सा कैसे बनाते हैं, प्लेटफ़ॉर्म से प्रभावित हो सकते हैं। क्या आप साझा करना चाहते हैं कि आपका मंच क्या है? – olle
मैं एक .NET/विंडोज वातावरण में रह रहा हूं। फिलहाल हम अपने निर्माण के लिए क्रूज़ कंट्रोल .NET, MSBuild और NAnt का उपयोग कर रहे हैं। –
इस आलेख को देखें: http://www.yegor256.com/2014/07/21/read-only-master-branch.html – yegor256