2011-12-19 15 views
10

जेनकिन्स प्लग-इन का संस्करण 2.15 अधिसूचना ई-मेल बनाने के लिए फ़ाइलों को जोड़ने के लिए ईमेल-एक्सटी जोड़ा गया समर्थन। मैं अधिसूचना ई-मेल बनाने के लिए बिल्ड लॉग संलग्न करना चाहता हूं, लेकिन मैं यह नहीं समझ सकता कि इसे कैसे किया जाए।मैं जेनकींस प्लगइन ईमेल-एक्सटी के साथ ई-मेल अधिसूचना में बिल्ड लॉग कैसे संलग्न करूं?

बिल्ड लॉग जेनकिंस मास्टर नोड (इस मामले में, उबंटू लिनक्स) पर संग्रहीत किया जाता है। उदाहरण के लिए, /var/lib/jenkins/jobs/<PROJECT_NAME>/builds/<DATE_TIME>/log। स्वाभाविक रूप से, निर्माण लॉग पथ प्रत्येक निर्माण के साथ बदलता है। ईमेल-एक्सटी फ़ाइल अटैचमेंट सुविधा परियोजना वर्कस्पेस के भीतर से फ़ाइलों का उपयोग करने के लिए डिफ़ॉल्ट है, जो जेनकींस दास बिल्ड मशीन (इस मामले में, मैक ओएस एक्स) पर है। उदाहरण के लिए, मैंने अपने दास को /Users/<USERNAME>/Jenkins/build_agent/workspace/<PROJECT_NAME>/ फ़ोल्डर का उपयोग करने के लिए कॉन्फ़िगर किया।

क्या दास बिल्ड मशीन पर वर्कस्पेस की बजाय मास्टर की फ़ाइल सिस्टम से फ़ाइल संलग्न करने के लिए ईमेल-एक्सटी प्राप्त करने का कोई तरीका है?

किसी भी व्यक्ति को अग्रिम धन्यवाद जो कुछ सलाह दे सकता है। Email-ext wiki page में वर्तमान में अनुलग्नक को कॉन्फ़िगर करने का उदाहरण शामिल नहीं है।

उत्तर

10

प्लगइन बिल्ड लॉग को जोड़ने का समर्थन करता है, आपको बस प्रोजेक्ट कॉन्फ़िगरेशन में बॉक्स को चेक करने की आवश्यकता है।

Project Configuration for email-ext

+1

मैं सहेजने/लागू करने के बाद यह बटन हमेशा अनचेक करता हूं। क्या आपने कभी इसका सामना किया है? यहां देखें: http://stackoverflow.com/questions/15813494/jenkins-email-ext-attach-build-log-not-working धन्यवाद –

13

बिल्ड निर्माण को शामिल करने के लिए आप ई-मेल के शरीर में $ {BUILD_LOG, maxLines, escapeHtml} टोकन का उपयोग कर सकते हैं।

ईमेल-ext प्लगइन डॉक (उपलब्ध here) का हवाला देते हुए:

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

+1

धन्यवाद Vladisld। यह एक अच्छा जवाब है। हालांकि, मैं ईमेल-ext सामग्री में पहले से ही '$ {BUILD_LOG, maxLines = 9999, escapeHtml = false} का उपयोग कर रहा हूं। मेरी लॉग फ़ाइल लगभग एक हजार लाइन लंबी है, इसलिए मैं इसे संदेश निकाय से बाहर ले जाना चाहता हूं और इसे एक अनुलग्नक के रूप में रखना चाहता हूं। –

4

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

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

प्रोजेक्ट में, मुख्य संकलन चरण के बाद, मैंने एक नया उचित scp (सुरक्षित प्रति) कमांड उत्पन्न करने के लिए खोल चरण निष्पादित किया। यह आदेश है (अपने खुद के मानों उपयोगकर्ता और HOSTNAME की जगह है, और आप शायद अपने व्यक्तिगत सर्वर सूट करने के लिए पथ अनुरूप बनाने के लिए की आवश्यकता होगी): तो फिर, ईमेल-ext में की क्षेत्र

scp [email protected]:/var/lib/jenkins/jobs/$JOB_NAME/builds/$BUILD_ID/log build.log 

संलग्नक ईमेल-ext प्लगइन, मैं में प्रवेश किया:

build.log 

अब निर्माण लॉग दास के कार्यक्षेत्र को गुरु से नकल की और अधिसूचना ई-मेल संदेश के निर्माण से जुड़ी है। मैंने संदेश बॉडी टेम्पलेट से $BUILD_LOG टोकन हटा दिया है।

नोट: इस विशेष तकनीक का उपयोग करने के लिए, आपको दास और मास्टर के बीच कॉन्फ़िगर किए गए पासवर्ड रहित एसएसएच की आवश्यकता होगी, शायद ओपनएसएसएच कुंजी पासफ्रेज़ का उपयोग कर। अगर आपको इसके साथ मदद की ज़रूरत है, तो ssh-keygen कमांड पर जानकारी के लिए वेब पर खोजें, और शायद this one जैसे ट्यूटोरियल देखें। एक समान दृष्टिकोण उन प्लेटफॉर्म पर काम करना चाहिए जिनके पास एसएसएच के लिए अंतर्निहित समर्थन नहीं है। RoboCopy या इसी तरह विंडोज सिस्टम पर काम करना चाहिए।

संपादित करें: ईमेल-ext प्लग में अब काम के विन्यास स्क्रीन पर एक चेक-बॉक्स के साथ एक सूचना संदेश करने के लिए एक निर्माण लॉग संलग्न करने की क्षमता है। उदाहरण के लिए स्लाइड का उत्तर देखें।

0

मैं देखा है कि जब मैं बॉक्स की जांच लॉग निर्माण संलग्न करने के लिए है, यह भी बचाने के बाद, unchecks लेकिन यह मेरे ईमेल में संलग्न है के बाद ईमेल प्रस्तुत किया गया है।

0

सभी का Firsl आपको Email Ext plugin इंस्टॉल करना होगा। इस चरण का पालन करने के बाद।

  • अब में करने के लिए 'बाद निर्माण कार्रवाई जोड़ें' का चयन संपादन योग्य ईमेल अधिसूचना और उस अनुभाग में आप विकल्प संलग्न चित्र में नीचे के रूप में प्रवेश करें .Select विकल्प का निर्माण किया है। enter image description here

लागू होने और सहेजने के बाद.अब आपको निश्चित रूप से ईमेल संलग्नक में बिल्ड लॉग मिल जाएगा। धन्यवाद।

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