2012-05-16 10 views
5

मैं एक समाधान है कि हमारे जैसे विफलताओं निर्माण को वर्गीकृत कर सकते हैं रहा हूँ: (निर्माण प्रणाली में त्रुटि)जेनकींस के साथ बिल्ड विफलताओं को वर्गीकृत कैसे करें?

  • डेवलपर (एक डेवलपर बुरा कोड जोड़ा)
  • निर्माण प्रणाली
  • बुनियादी ढांचे समस्या (सर्वर प्रतिसाद नहीं दे रहा)

यह बहुत अच्छा होगा अगर यह स्वचालित रूप से समय के सबसे किया जा सकता है, सांत्वना उत्पादन के आधार पर लेकिन हम भी अब बनाने के लिए एक विकल्प की जरूरत है कुछ निश्चित स्थिति होने के लिए तैयार हैं।

हम इस व्यवहार को जेनकींस से कैसे प्राप्त कर सकते हैं?

+1

क्या आपका प्रश्न है कि (1) आपके पास पहले से ही विफलता के कारणों को निर्धारित करने के लिए एक तंत्र है और केवल उन्हें ठीक से रिपोर्ट करने के तरीकों की तलाश कर रहे हैं या (2) कि आप इस तरह के तंत्र को लागू करने के तरीकों की तलाश में हैं? –

+0

मान लें कि मैं विफलता पहचान स्वयं को कार्यान्वित कर सकता हूं, लेकिन मुझे जेनकिंस डेटाबेस में विफलता कारण को संग्रहीत करने का एक तरीका ढूंढना होगा। यदि ऐसा कुछ भी मौजूद नहीं है, तो मैं इसे लागू करने के संकेतों का एक सेट स्वीकार करूंगा। – sorin

उत्तर

1

प्रतिवेदन प्रयोजनों के लिए आप (काम करता है कि यह कैसे http://[jenkins_server]/job/[job_name]/[build_number]/editDescription जाते है, या निर्माण स्थिति पृष्ठ पर 'विवरण जोड़ें' पर क्लिक करें देखने के लिए आदेश में इसे मैन्युअल रूप से संपादित करने के लिए) निर्माण विवरण उपयोग कर सकते हैं।

प्रोग्रामेटिक रूप से आप Jenkins CLI (सेट-बिल्ड-विवरण कमांड के माध्यम से सेट कर सकते हैं); या ग्रोवी से जेनकींस Java API - Run::setDescription() विधि के माध्यम से।

ग्रोवी स्क्रिप्ट को या तो Groovy Plugin या Groovy PostBuild Plugin या दोनों के माध्यम से बुलाया जा सकता है।

2

Build Failure Analyzer plugin आपको वर्तमान और भविष्य के निर्माण को वर्गीकृत करने के लिए नियमित अभिव्यक्ति सेट करने देता है। एक बार नियमित अभिव्यक्ति सेट हो जाने के बाद, वर्तमान और भविष्य के निर्माण के लिए पहचान स्वचालित है। यह वही हो सकता है जो आप कर रहे हैं।

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

Lightweight Jenkins plugin for manual failure categorization

मैं कहना है कि प्लगइन वर्तमान में, कहीं भी साझा नहीं है, क्योंकि यह एक विशेष परियोजना के लिए कुछ कठोर codings शामिल खेद है। अगर ऐसे प्लग-इन की मांग है, तो मैं कोड को फिर से देख सकता हूं और इसे ओपन सोर्स प्रकाशित कर सकता हूं। हालांकि, आपके उद्देश्यों के लिए ऐसा लगता है कि बिल्ड विफलता विश्लेषक के स्वचालित समाधान अधिक उपयुक्त होंगे।

प्लग-इन बहुत ही सरल और समान चीजों को लागू करना मुश्किल नहीं है। यदि आप अपनी जरूरतों को पूरा करने के लिए स्वचालित रूप से स्वचालित बिल्ड विफलता विश्लेषक प्लग-इन का विस्तार करना चाहते हैं, तो Jenkins plugin tutorial और Extend Jenkins पृष्ठ जेनकिन्स प्लग-इन विकास के लिए एक अच्छा प्रारंभिक बिंदु हैं। दृढ़ता के लिए, XStream से परिचित होना फायदेमंद होगा, क्योंकि जेनकींस और अधिकांश प्लग-इन आंतरिक रूप से XML को डेटा को क्रमबद्ध करने के लिए उपयोग करते हैं।

+0

आपको अपना कोड साझा करना चाहिए! गिटहब गिस्ट एक विकल्प है - यहां टिप्पणियों में बस एक लिंक जोड़ें। मुझे यह पता लगाने की ज़रूरत है कि कौन से परीक्षण अक्सर असफल होते हैं। विफलता विश्लेषक बिल्ड बिल्ड विफलताओं की पहचान करने की अनुमति देता है, लेकिन फिर मुझे असफलताओं पर कुछ आंकड़े करने की आवश्यकता है। कहें, पिछले हफ्ते में हमारे पास एक असफल एक्स टाइम था, बी वाई बार विफल रहा, सी विफलता वाई बार इत्यादि। – sakovias

1

इस उपकरण पर मैंने काम किया है, आपकी मदद कर सकता है: https://github.com/nacuteodor/SearchInJenkinsLogs। इसे जेनकींस नौकरी के साथ एकीकृत किया जा सकता है। आप कलाकृतियों को बनाने में नियमित अभिव्यक्ति निर्दिष्ट करते हुए एक खोजी गई पाठ पा सकते हैं, या परीक्षण विफलताओं और यह बिल्ड नोड्स को मुद्रित करेगा और परीक्षण और परीक्षणों द्वारा क्रमबद्ध परीक्षण रिपोर्ट लिंक विफल कर देगा। इसके अलावा, इसमें समूह विफलताओं की गिनती द्वारा क्रमबद्ध अधिकतम अंतर सीमा का उपयोग करके समान समान विफलताओं को समूहित करने की सुविधा है।

आप कलाकृतियों के लॉग में दुर्घटनाओं को खोजने के लिए इस टूल का उपयोग कर सकते हैं, जिसे आप रिपोर्ट करना चाहते हैं और a.s.p.p को ठीक करना चाहते हैं, और आप नौकरी को ईमेल अधिसूचना भेज सकते हैं या टूल जॉब बिल्ड में विफल हो सकते हैं। मैं भविष्य में कुछ अन्य विशेषताओं को जोड़ सकता हूं।

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