2012-01-30 18 views
5

पर रिमोट रिग्रेशन परीक्षण स्वचालित रूप से चल रहा है मैं हर बार कुछ बदलाव करता हूं जो मुझे लगता है कि काम कर सकता है: मैं प्रतिबद्धता से पहले व्यापक परीक्षण नहीं करता हूं। साथ ही, मेरी गतिविधियां जल्द ही pushed to a remote repository स्वचालित रूप से हो जाएंगी। (मैं एकमात्र डेवलपर हूं, और मुझे दिन में कई बार कोड के हिस्सों को जोड़ना या फिर से लिखना है।)Mercurial: हर प्रतिबद्धता

जब भी मैं कुछ भी करता हूं तो मैं स्वचालित रूप से रिग्रेशन परीक्षण चलाने के लिए एक दूरस्थ कंप्यूटर स्थापित करना चाहता हूं; और फिर मुझे मतभेद रिपोर्ट वापस ईमेल करें।

इसे सेट करने का सबसे आसान तरीका क्या है?

मेरा पूरा कोड पायथन 3 में है। मेरा स्वयं का सिस्टम विंडोज 7, एक्टिवस्टेट पायथन, टोर्टोइज एचजी और विंग आईडीई है। मैं रिमोट कंप्यूटर को या तो लिनक्स या विंडोज के रूप में स्थापित कर सकता हूं। टेक्स्ट इनपुट और आउटपुट के साथ एप्लिकेशन सभी कमांड लाइन है।

उत्तर

6

Buildbot या Jenkins जैसे एक सतत एकीकरण सर्वर का उपयोग करें और इसे रिपॉजिटरी की निगरानी के लिए कॉन्फ़िगर करें। फिर इसका उपयोग करके परीक्षण चलाएं। बिल्डबॉट पायथन में लिखा गया है, इसलिए आपको इसके साथ घर पर सही महसूस करना चाहिए।

अगर आपको लगता है कि यह Buildbot या जेनकींस भंडार पोल (भले ही hg pull बहुत कम संसाधनों का उपयोग करता जब कोई नया changesets कर रहे हैं) बनाने के लिए बेकार है, तो आप एक changegroup हुक भंडार में सीआई में एक निर्माण को गति प्रदान करने कॉन्फ़िगर कर सकते हैं सर्वर।

+1

हम टीमसिटी, एक और महान निरंतर एकीकरण सर्वर चलाते हैं। – StrangeWill

+1

@StrangeWill: मैंने टीमसिटी के बारे में अच्छी बातें सुनी हैं, उदाहरण के लिए कि यह उस एजेंट पर बिल्ड शेड्यूल कर सकता है जिसमें पहले से ही क्लोन है जो अपस्ट्रीम क्लोन की तरह है, ताकि क्लाइंट के लिए 'एचजी पुल' तेज हो। मैंने अपने उत्तर में ओपन सोर्स टूल्स पर ध्यान केंद्रित किया क्योंकि यही मेरे पास सबसे ज्यादा अनुभव है। –

2

मैं Buildbot स्थापित करने की अनुशंसा करता हूं। आप इसे रिमोट रिपोजिटरी देख सकते हैं (Mercurial समर्थित है) और जब रिपोजिटरी बदलती है तो स्वचालित रूप से बिल्ड को बंद कर दें। आपके मामले में, एक बिल्ड बस आपके टेस्ट सूट चलाएगा।

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

Jenkins एक ही विकल्प है, जो एक ही सुविधा का समर्थन करता है। क्लाउड होस्टिंग विकल्प भी हैं, जैसे ShiningPanda जो इसे आपके लिए होस्ट कर सकते हैं, और वे ओपन-सोर्स प्रोजेक्ट्स के लिए मुफ्त लाइसेंसिंग प्रदान करते हैं।

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

  • कोई संबंधित समस्या नहीं^_^