2008-08-25 15 views
30

.NET, जावा और अन्य भाषाओं के लिए निरंतर एकीकरण टूलचेन अपेक्षाकृत अच्छी तरह परिभाषित हैं, लेकिन सी ++ बाजार में बहुत विविधता है।सी ++ के साथ निरंतर एकीकरण के लिए कौन से टूलचेन मौजूद हैं?

तक सीआई "toolchain" मैं विशेष रूप से आदि का निर्माण लिपियों, स्वचालित परीक्षण के लिए उपकरण, मानकों की जाँच कोडिंग,

क्या सीआई toolchains के लिए उपयोग कर सी ++ टीमों कर रहे हैं मतलब है?

+3

"(और क्यों हमारे toolchains चूसना है में अच्छी तरह से फिट बैठता है जावा/.NET प्रोग्रामर की तुलना में इतना बुरा ??!? "। यह एक अन्य प्रश्न है .... – quark

+0

विषय के रूप में बंद करने के लिए वोटिंग –

उत्तर

2

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

1

G'day,

हम वास्तव में एक साइट है जहाँ मैं पहले से करार किया गया था पर इस समस्या का सामना करना पड़ा।

एक लड़का,

  • जांच बैठ गए और लिखा उपकरण, मुख्य रूप से शेल स्क्रिप्ट

    1. जांच वर्तमान कोड बेस हर एकाध घंटे और जांच करने के लिए अगर यह टूट गया था निर्माण करने के लिए, और नवीनतम अच्छा निर्माण और पूर्ण निर्माण करें और लगभग 8,000 रिग्रेशन परीक्षण चलाएं।

    हम ऐसा करने के लिए व्यावसायिक रूप से उपलब्ध कुछ भी नहीं ढूंढ पाए और इसलिए चार्ली बैठ गई और बैश खोल स्क्रिप्ट में इसे लिखा और यह एचपी-यूएक्स पर चल रहा था।

    चियर्स, रोब

  • 0

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

    मैं वास्तव में बिल्ड चलाने के लिए क्रूज़ कंट्रोल का उपयोग करता हूं। प्रत्येक प्रोजेक्ट (उनमें से सभी में) की एक चींटी स्क्रिप्ट है जो बिल्डिंग करने के लिए प्रोजेक्ट चींटी स्क्रिप्ट में कॉल करने के लिए विशिष्ट कार्य (कलाकृतियों की प्रतिलिपि बनाना, प्रसंस्करण परिणाम) बनाती है।

    मुझे अपने परीक्षण के लिए cppunit का उपयोग करना पड़ा और परिणामों को कहीं भी मिली xslt फ़ाइल के साथ संसाधित करना पड़ा। मेरे पास प्रत्येक बिल्ड पर गलत svn संशोधन लेबल भी है क्योंकि मुझे उपयुक्त svn लेबलर नहीं मिल रहा है। मुझे लगता है कि आधा पूरा साल पुराना कोड है और लोग बहस करते हैं कि अन्य लोग इसे गलत कर रहे हैं।

    ऐसा लगता है कि सीसी एक मरने वाली प्रणाली है, लेकिन मुझे सी ++ के लिए कुछ भी बेहतर नहीं मिला है। फिर फिर, मुझे यह भी लगता है कि सी ++ एक मरने वाली भाषा है, इसलिए शायद यह सिर्फ इससे बड़ा है।

    +1

    सी ++ मर नहीं रहा है, लेकिन इसकी अधिकांश ताकतें केवल आला में चमकती हैं बाजार। – Tom

    +0

    इसके अलावा ... यदि आप को मारने के लिए कुछ समय है, तो मैं सीओक्सटेस्ट को देखने की सलाह देता हूं। परियोजना थोड़ी देर के लिए लगभग मृत हो गई, लेकिन मेरा मानना ​​है कि इसे नए रखरखावकर्ताओं द्वारा उठाया गया है। डिफ़ॉल्ट रूप से यह जीसीसी के साथ आउटपुट संगत बनाता है "फाइल: लाइन: संदेश" या आईसीसी/एमएसवीसी की "फाइल (लिन ई): संदेश "। इसके लिए एक जुनीट-संगत एक्सएमएल आउटपुट बनाना बहुत आसान होगा। – Tom

    7

    एक और विकल्प buildbot हो सकता है।

    यह पायथन में लिखा गया है, लेकिन केवल पाइथन ऐप्स के लिए नहीं है। यह आपके निर्माण के लिए किसी भी स्क्रिप्ट निष्पादित कर सकते हैं। यदि आप उनकी सफलता की कहानियों को देखते हैं, तो विभिन्न प्रकार की भाषाएं दिखाई देती हैं।

    0

    हमने केंद्रीय निर्माण सर्वर द्वारा निरंतर एकीकरण चलाने के लिए scons का उपयोग किया। कुछ परियोजनाएं buildbot पर माइग्रेट की गईं।

    अब मैं rake में जा रहा हूं और this blog में सर्वेक्षण के रूप में समाधान पर विचार कर रहा हूं। फाउलर का उल्लेख है कि थॉटवर्क्स कभी-कभी अपने Continuous Integration आलेख में अपनी बिल्डिंग स्क्रिप्टिंग के लिए रेक का उपयोग करते हैं।

    7

    हम अपने सी ++ क्रॉस प्लेटफॉर्म सतत एकीकरण के बुनियादी ढांचे Parabuild

    http://www.viewtier.com/products/parabuild/screenshots.htm

    का उपयोग कर लागू किया

    हम जीत/मैक/लिनक्स क्यूए इसके साथ उपकरण के हर तरह एकीकृत करने में सक्षम थे और यह स्थापित करने और बनाए रखने के लिए वास्तव में आसान है: यह प्रत्येक प्लेटफ़ॉर्म पर एक क्लिक स्थापना है और वेब इंटरफ़ेस बहुत आसान है।

    कई सतत एकीकरण सर्वर मुख्य समस्या यह है कि वे जावा पक्षपाती थे का मूल्यांकन करते समय: Parabuild, दूसरे हाथ पर, सी ++ क्रॉस प्लेटफॉर्म विकास और गुणवत्ता आश्वासन कार्यप्रवाह

    +0

    क्या ** निर्माण प्रणाली ** क्या आप लिनक्स पर उपयोग कर रहे हैं? हमें ऐसा कुछ भी नहीं मिल रहा है जो ऑफ़लाइन बिल्ड करेगा और उम्मीद है कि ग्रहण – davka

    +1

    के साथ बनाए रखने और एकीकृत करने में आसान होगा। हम मुख्य निर्माण प्रणाली के रूप में cmake का उपयोग करते हैं: आप http://www.cmake.org/ पर अधिक जानकारी प्राप्त कर सकते हैं। यह क्रॉस प्लेटफार्म है और http://www.vtk.org/Wiki/CMake:Eclipse_UNIX_Tutorial#CMake_with_Eclipse –

    +2

    में वर्णित ग्रहण परियोजनाओं को भी उत्पन्न कर सकता है अद्यतन: हम वर्तमान में जेनकींस http://www.jenkins-ci.org का उपयोग कर रहे हैं (हडसन था)। डिस्टिब्यूट बिल्ड के लिए जेनकींस की एक रोचक क्षमता यह है कि रिमोट को अपने आप को दास बिल्ड नोड्स पर स्थापित करने की क्षमता है। यह आपके बुनियादी ढांचे को स्केल करने के लिए बहुत आसान है क्योंकि आपको केवल एक को स्थापित करने और बनाए रखने की आवश्यकता है, और मास्टर बिल्ड नोड पर केवल एक, जेनकिन्स इंस्टेंस। –

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