क्या कोई भी आर प्रोग्रामिंग के साथ निरंतर एकीकरण करने का तरीका जानता है? मैं यूनिट परीक्षण करने के लिए svUnit पैकेज जैसे उपकरणों से अवगत हूं, लेकिन क्या किसी ने इसे हडसन/जेनकींस के साथ चलाने की कोशिश की है?निरंतर एकीकरण (हडसन/जेनकींस) और आर प्रोग्रामिंग
उत्तर
मुझे कोई विशेष समस्या नहीं दिखाई देती है। ये बातें पटकथा हो जाते हैं तो कर सकते थे बस
- अपने भंडार के शीर्ष करने के बिंदु
- एन मिनट प्रत्येक चेकइन, स्रोत निर्देशिका से अधिक लूप के बाद
- प्रत्येक
- पर
R CMD check
आह्वान अपने पैकेज को यूनिट टेस्ट का उपयोग करने के लिए सेट किया जाना है, जिसके लिए आप
वास्तव में संकलित भाषाओं के साथ निरंतर एकीकरण से किसी भी अलग नहीं है यही कारण है कि। आपका प्रश्न वास्तव में आर के भीतर इकाई परीक्षण करने के तरीके के बारे में है, और वह प्रश्न पहले कवर किया गया है।
जो आप लिखते हैं वह काफी सच है- सामान्य-, सवाल हालांकि स्पष्ट रूप से जेनकिन्स/हडसन का उल्लेख करता है, और मेरे ज्ञान के लिए [svUnit] (https://r-forge.r-project.org/scm द्वारा सर्वोत्तम एकीकरण की पेशकश की जाती है) /viewvc.php/pkg/svUnit/R/?root=sciviews)। मेरा दूसरा जवाब देखें। ...आईएमओ, स्क्रिप्ट किए गए यूनिट परीक्षण को निष्पादित करने में सक्षम होने पर अधिक उपयोग नहीं किया जाता है यदि परिणाम चयनित निरंतर एकीकरण टूल के अनुकूल प्रारूप में नहीं हैं। – mariotomo
आरएमडी चेक विफल होने पर जेनकिन्स को बिल्ड दिखाने के लिए कोई सुझाव विफल रहा है? –
निश्चित रूप से, नए [आर-ट्रेविस प्रोजेक्ट जिथब] पर देखें (https://github.com/craigcitro/r-travis) जिसमें 'dump_logs' फ़ंक्शन है। –
हडसन/जेनकिंस बैश स्क्रिप्ट चलाने का समर्थन करता है। मुझे लगता है कि आप इसे अपने आर दुनिया के प्रवेश द्वार के रूप में उपयोग कर सकते हैं। आर में, परिणाम रखने का एक आसान तरीका सिंक ("toYourFile.txt") का उपयोग करना है और फिर toYourFile.txt को दिखाने के लिए सीआई के परिणाम प्रदर्शन फ़ंक्शन का उपयोग करना है।
सीआई फ़ाइल को दिखाने के लिए आसान है, आप इसे त्रुटियों की पहचान करने के लिए कैसे प्राप्त करते हैं? –
"त्रुटियों की पहचान कैसे करें?", आपको आउटपुट को ऐसे स्वरूप में होना चाहिए जिसे जेनकींस द्वारा पहचाना जा सके, और यह "जुनीट" प्रोटोकॉल का उपयोग करके, svUnit के साथ आप क्या कर सकते हैं। – mariotomo
कार्यालय में हम थोड़ी देर के लिए हडसन/जेनकींस का उपयोग कर रहे हैं। मैंने integration of svUnit to Jenkins का योगदान दिया है, इसलिए मैं दृढ़ता से आपको कुछ और करने की कोशिश करने से पहले svUnit का उपयोग करने की सलाह दूंगा। logging और delftfews या अपने आप zoo और redistribute it on github का पालन करने की कोशिश कर में:
दो पुस्तकालयों मैं बनाए रखने पर एक नजर है।
मैं हाल ही में हाउसकीपिंग नहीं कर रहा हूं इसलिए तीन स्क्रिप्ट (zoo, logging, delftfews) सभी थोड़ा अलग हैं। यदि कोई परीक्षण विफल रहता है तो मेरे चिड़ियाघर संस्करण में से एक बंद हो जाएगा। यह व्यावहारिक है जब आप R CMD check
चला रहे हैं, लेकिन निरंतर एकीकरण करते समय शायद एक अच्छा विचार कम हो।
क्या आप स्पष्ट कर सकते हैं कि जेनकिन्स को असफल होने के लिए कैसे ट्रिगर करना है, या svunit कोड में इसका उल्लेख क्यों किया गया है? मुझे svUnit पैकेज प्रलेखन या विग्नेट में कोई प्रासंगिक पाठ नहीं मिला, और यह आपके द्वारा लिखी गई स्क्रिप्ट से मुझे स्पष्ट नहीं है (मैं सीआई के लिए नया हूं) जेनकिंस को पास/विफल करने के लिए क्या ट्रिगर करेगा। क्या यह सिर्फ stderr का जवाब है? –
आप कहते हैं कि आप सीआई के लिए नए हैं, मेरा सुझाव है कि आप इसकी संरचना को समझने के लिए जेनकिन के मैनुअल को पढ़ लें, शायद आप एक काम कर रहे जेनकिंस सर्वर पर एक नज़र रखना चाहते हैं? (उदाहरण: https://csvjdbc.ci.cloudbees.com/job/csvjdbc/) आपके स्रोतों में किए गए किसी भी बदलाव से जेनकिन्स को आपके द्वारा पंजीकृत स्क्रिप्ट को चलाने के लिए ट्रिगर किया जाएगा, और स्क्रिप्ट के सफल समापन पर, यह जेनरेट की गई रिपोर्ट का उपयोग करेगा सफल/असफल/छोड़े गए परीक्षणों को प्रकाशित करने के लिए। – mariotomo
आपने रिपोर्ट के आधार पर सफल/असफल कैसे स्थापित किया? जेनकींस में यह मानक है? – bobK
+1 मुझे इसमें भी रूचि है, ताकि मेरे परीक्षणों को तोड़ने वाले सीआरएएन से पैकेज अपडेट स्वचालित रूप से पकड़ सकें। काश मैं पैकेज डेवलपर्स की सहायता के लिए आसानी से टेस्ट अपस्ट्रीम का एक गुच्छा भेज सकता हूं, लेकिन स्वचालित परीक्षण अब के लिए करेंगे। – Iterator
बस सोच रहा है कि क्या @ इटरेटर या ट्रैविस ने नवीनतम svUnit को आजमाया है। मेरे अनुसार svUnit जेनकिन्स में '' बहुत अच्छा '' एकीकरण प्रदान करता है, इसलिए Dirks को "स्वीकार्य" होने का जवाब देने से मुझे लगता है कि आपने अभी तक इसका अग्रिम नहीं लिया है। – mariotomo
@ मारियोतोमो - अलर्ट के लिए धन्यवाद - मैं निश्चित रूप से इसे देख लूंगा। मेरे पास एक आगामी परियोजना है जिसे इस तरह के परीक्षण का उपयोग करने की आवश्यकता होगी। – Iterator