54

एक पूर्व प्रोजेक्ट के साथ सतत एकीकरण के लिए हडसन का उपयोग करने के बाद, मैं अब आईफोन परियोजनाओं के लिए निरंतर एकीकरण सर्वर स्थापित करना चाहता हूं जो मैं अभी काम कर रहा हूं। कुछ शोध करने के बाद ऐसा लगता है कि विशेष रूप से एक्सकोड के लिए डिज़ाइन किए गए किसी भी सीआई इंजन नहीं हैं, लेकिन एक व्यक्ति को using Cruise Control combined with the xcodebuild CLI tool सफलता मिली है। क्या किसी ने यहां कोशिश की है? क्या कोई सीआई इंजन है जो एक्सकोड परियोजनाओं के साथ अच्छी तरह से काम करता है?एक्सकोड परियोजनाओं के लिए निरंतर एकीकरण?

मैं शायद क्रूज़ कंट्रोल को एक कोशिश देने जा रहा हूं। मैं अपने निष्कर्षों के साथ एक उत्तर पोस्ट करूंगा।

+0

कोई लॉगनर ऊपर टिप्पणी में लिंक –

+0

चेक करें [rultor.com] (http://www.rultor.com)। यह एक होस्टेड समाधान है जो [पृथक डॉकर कंटेनर में सभी बनाता है] (http://www.yegor256.com/2014/07/29/docker-in-rultor.html)। जहां तक ​​मुझे पता है कि डॉकर – yegor256

+0

@ एक्सगोर 256 में एक्सकोड चलाने के लिए संभव है क्या यह वास्तव में एक्सकोड के साथ डॉकर चलाने के लिए संभव है? मुझे डॉकर हब में ओएस एक्स के साथ मूल छवि नहीं मिली :( – Ponf

उत्तर

36

मैं सफलतापूर्वक मैक पर xcodebuild के साथ हडसन का उपयोग कर रहा हूं। 3.0 आईफोन एसडीके की रिहाई के साथ आपने लक्ष्य, कॉन्फ़िगरेशन और एसडीके पर नियंत्रण हासिल किया है कि परियोजना के खिलाफ बनाया जाना है।

यह हडसन में एक निर्माण कदम बनाने और xcodebuild कह परियोजना का निर्माण करने के रूप में सरल है: के रूप में मेरे बस किसी भी अतिरिक्त सोचा बिना काम बनाता

xcodebuild -target "myAppAppStore" -configuration "DistributionAppStore" -sdk iphoneos2.1 

अग्रिम काम मेरे लिए कीमत चुकाई है। यदि कोई दिलचस्पी लेता है तो मैंने अपने ब्लॉग पर एक विस्तृत विवरण लिखा है।

iPhone app distribution made easy

+0

आपका लिंक "पृष्ठ नहीं मिला" पर हल हो जाता है। :( – Spanky

+1

@Spanky - मैंने सिलेंकोड के ब्लॉग को लिंक अपडेट किया। – itsmatt

9

एडियम buildbot का उपयोग एक्सकोड के साथ काफी प्रभावी ढंग से कर रहा है। हमने एक साधारण मेकफ़ाइल लिखा है जो उचित लक्ष्य और कॉन्फ़िगरेशन के साथ xcodebuild को कॉल करता है, लेकिन मुझे पूरा यकीन है कि यह वैकल्पिक है।

+0

धन्यवाद, मैं इसे –

+5

एडियम चट्टानों से बाहर देखूंगा! (उह ... ऑफ-विषय टिप्पणी के लिए खेद है। कुछ दिखाने का मौका नहीं दे सका प्रशंसा) – pestophagous

4

मुझे लगता है कि आपको अभी भी हडसन का उपयोग करने में सक्षम होना चाहिए। हडसन बहुत लचीला है और आपको भवन के लिए खोल स्क्रिप्ट का उपयोग करने की अनुमति देता है: Shell Scripts and Windows Batch Commands

बस वहां एक्सकोडबिल्ड दर्ज करें। Xcodebuild के विकल्पों को देखने के लिए xcodebuild मैन पेज पर एक नज़र डालें।

8

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

मैंने बिल्डबॉट का भी अच्छा प्रभाव डाला है, लेकिन पाया कि इसकी ताकतें वास्तव में मेरी ज़रूरतों से मेल नहीं खाती हैं (वितरित गुलामों की इमारत और कई अलग-अलग प्रणालियों में रिपोर्टिंग)। बिल्डबॉट सेटअप को कॉन्फ़िगर करना एक कला हो सकती है, हालांकि यह मुश्किल नहीं है। यह अनिवार्य रूप से अजगर में स्क्रिप्ट लिख रहा है।

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

4

यदि आपको अत्याधुनिक पर रहने पर कोई फर्क नहीं पड़ता है तो मैंने क्रूज़ कंट्रोल के लिए xcode builder किया है।

13

इस सूत्र का पुनर्निर्माण करना। मुझे बिल्डिंग सर्वर पर यूनिट परीक्षणों के साथ स्वचालित एक्सकोड बनाने के लिए एक संतोषजनक समाधान नहीं मिला, इसलिए मैंने कुछ जांच और कोडिंग की। परिणाम this blog post यह सब और this Ruby script समझाता है जो ओक्यूनिट आउटपुट को xcodebuild से XML प्रारूप में परिवर्तित करता है जो JUnit परीक्षण रिपोर्ट के लिए उपयोग करता है। मैंने बनाया निर्माण सर्वर Hudson था।

अद्यतन 3/2 2012: मैंने इसे बनाने और चलाने के लिए कुछ कस्टम शैल स्क्रिप्ट का उपयोग करने के लिए इसे अद्यतन किया है।उपलब्ध here। यह न केवल निरंतर एकीकरण के लिए अच्छा है, बल्कि आपकी मशीन पर कमांड लाइन से भी अच्छा है।

1

जेनकींस कुछ लोगों के लिए अच्छा काम करता प्रतीत होता है। (हालांकि, मैं पहले किसी भी सीआई सर्वर इस्तेमाल नहीं किया है।)

https://wiki.jenkins-ci.org/display/JENKINS/Xcode+Plugin

0

जेनकींस ठीक काम करता है। आप या तो अपनी खुद की शेल स्क्रिप्ट लिखकर अपना एक्सकोड प्रोजेक्ट बना सकते हैं, फिर जेनकिन्स इसे चलाएं, या आप एक्सकोड प्लगइन का भी उपयोग कर सकते हैं।

लेकिन आपको प्राधिकरण की समस्या से अवगत होना चाहिए। जेनकींस कॉन्फ़िगरेशन में छोटे बदलावों के साथ, आप बहुत कम समय में अपने सीआई सर्वर को प्रबंधित करने में सक्षम होंगे।

9

ऐप्पल ओएसएक्स मैवरिक्स (ओएस एक्स 10.9) के लिए एक नया निरंतर एकीकरण मंच है जो मैंने पहले देखा है सबसे एकीकृत एकीकृत एकीकरण समाधान है (10 जून, 2013) रिलीज करता है। यह developer.apple.com से उपलब्ध है, इस पृष्ठ पर यहाँ विवरण हैं:

https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/xcode_guide-continuous_integration/

मैं विषय पर WWDC 2013 प्रस्तुति को देखने के लिए सलाह देते हैं।

+0

यह बहुत अच्छा है! अंत में एक्सकोड कुछ उचित परीक्षण उपकरण प्राप्त कर रहा है – LightningStryk

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