2009-07-24 11 views
12

मेरी टीम वर्तमान में buildbot का उपयोग रात भर और निरंतर-एकीकरण निर्माण और प्रतिगमन परीक्षण स्वचालित करने के लिए कर रही है। बिल्ड और यूनिट परीक्षणों के लिए, बिल्डर सिर्फ एक स्क्रिप्ट को आमंत्रित करता है जो स्रोतों को पी 4 से सिंक करता है और फिर xcodebuild चलाता है। रिग्रेशन टेस्ट एक शेल स्क्रिप्ट द्वारा भी लॉन्च किए जाते हैं, और वे शैल स्क्रिप्ट और ऐप्पलकैंक के संयोजन होते हैं। बिल्ड सभी एक सिस्टम पर किए जाते हैं लेकिन फिर बिल्डबॉट विभिन्न मैक पर होने वाले परीक्षणों को ट्रिगर करता है, विभिन्न आर्किटेक्चर और ओएस संयोजनों के साथ। बिल्डबॉट के बारे में मुझे जो चीजें पसंद हैं वे स्वचालित ट्रिगर्स हैं (इसलिए परीक्षण केवल तभी चलते हैं जब निर्माण सफल होता है), और समग्र स्थिति देखने के लिए झरना दृश्य सहित रिपोर्टिंग।मैक डेवलपर क्या स्वचालित बिल्ड सिस्टम का उपयोग करते हैं?

हालांकि, मुझे कई समस्याएं भी दिखाई देती हैं। "मास्टर" प्रक्रिया जो निर्माण को समन्वयित करती है या तो लीकी होती है या सिर्फ एक बड़ा कामकाजी सेट होता है जिसका अर्थ है कि यह स्मृति के कुछ गीगाबाइट का उपभोग करता है। कभी-कभी नेटवर्क समस्याओं का मतलब है कि एक गुलाम खो जाएगा; बाद में पुनः प्रयास करने के बजाय यह केवल निर्माण में विफल हो जाएगा। असल में यदि गुलाम को आश्रित निर्माण के लिए ट्रिगर किया जाना चाहिए, तो यह सफलतापूर्वक पूरा होने के बाद पहले निर्माण में विफल हो जाएगा।

तो आप अपने एक्सकोड बिल्ड और यूनिट परीक्षणों को स्वचालित करने के लिए उपयोग कर रहे हैं? ये समाधान आपके लिए कैसे काम करते हैं? आप कुछ भी सिफारिश करेंगे?

+0

इस समुदाय विकी को अपनी राय के रूप में बनाने के लायक हो सकता है – AutomatedTester

+2

ऐसा नहीं लगता - मैं विभिन्न समाधानों की तकनीकी तुलना के लिए पूछ रहा हूं, न कि वेबकॉमिक आपका पसंदीदा कौन सा है। –

उत्तर

5

मैं विंडोज वातावरण में TeamCity का उपयोग करता हूं लेकिन मेरा मानना ​​है कि यह मैक पर काम करेगा और इसमें एक्सकोड बिल्ड एजेंट होंगे।

एक और समान प्रश्न here

4

हमारी टीम एक स्क्रिप्ट के साथ हडसन का उपयोग करती है जो यूनिट टेस्ट आउटपुट को एक्सकोड से एनयूनीट प्रारूप में परिवर्तित करती है।

1

हमने काम किया कि सभी मेमोरी - लॉग फाइलों का उपयोग क्या कर रहा था - पुराना बिल्डबॉट हमेशा के लिए सभी लॉग रखता है और उन्हें स्मृति में रखता है (संभवतः पुनरारंभ होने तक)।

नए बिल्डबॉट को निश्चित मात्रा में इतिहास रखने के लिए कॉन्फ़िगर किया जा सकता है।

बिल्डबॉट बिल्ड लॉग फ़ाइलों को समस्या से बचने के लिए आकार में सीमित होना चाहिए।

+0

यह अच्छा है :-) मुझे लगता है कि मेमोरी चूसना मुख्य मुद्दा था, दास उपलब्धता की बात कष्टप्रद है लेकिन सभ्य नेटवर्क होने के आसपास काम किया जा सकता है। –

1

मैं XcodeBuilder का उपयोग करता हूं जो CruiseControl का हिस्सा है। बेशक यह मदद करता है कि मैंने इसे लिखा था। :)

लेकिन मैंने इसे एक आईफोन ऐप (Surf) के लिए एक वास्तविक एकाधिक व्यक्ति प्रोजेक्ट पर उपयोग किया जो ऐप स्टोर में बिक्री के लिए है।

2

मुझे पता है कि यह एक पुराना सवाल है, लेकिन उन लोगों के लिए जो टीएफएस का उपयोग अपनी एक्सकोड परियोजनाओं को पकड़ने के लिए करते हैं, मैंने स्वचालित रूप से टीएफएस के माध्यम से स्वचालित एक्सकोड बनाने के लिए एक कस्टम बिल्ड गतिविधि बनाई है। कोड को कोडप्लेक्स पर होस्ट किया गया है: http://tfsxcodebuild.codeplex.com/

आशा है कि किसी को यह उपयोगी लगेगा!

0

अब तीन साल बाद मेरे पास इस प्रश्न को प्रदान करने का मेरा उत्तर है। मैं मुख्य रूप से प्लग-इन के लिए Jenkins का उपयोग कर रहा हूं। इसमें एक्सकोड परियोजनाओं (या कार्यक्षेत्रों में योजनाओं) में लक्ष्य बनाने के लिए एक प्लग-इन है। Clang static analyzer चलाने के लिए एक प्लग-इन है। यह मेरे बग-ट्रैकर सिस्टम के साथ इंटरफेस करता है, यह स्वचालित रूप से टेस्टफ्लाइट में भी धक्का देगा।

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