2012-05-02 19 views
7

जेनकींस सीखना, और इसे एक परियोजना बनाने के लिए इसे प्राप्त करने का प्रयास करना जिसके लिए मेरी बिल्ड स्क्रिप्ट पाइथन में लिखी गई है।जेनकिन्स को एक पाइथन स्क्रिप्ट चलाने के लिए कैसे बनाया जाता है जो निर्माण को निष्पादित करता है?

./build.py -i 

मैंने 'निष्पादन स्क्रिप्ट' और 'पायथन स्क्रिप्ट निष्पादित' का उपयोग करने का प्रयास किया है। स्क्रिप्ट पहली पंक्ति

#!/usr/bin/python 

के बारे में या तो प्रयास, यह सिर्फ सेटिंग की अनदेखी करने, जैसे ही कोड की जाँच की है निर्माण सफल घोषित करने लगता है जेनकींस शिकायत नहीं करता है।

मैंने कुछ पुरानी मेल सूचियां पढ़ी हैं जो संकेत देती हैं कि मुझे एक बैश स्क्रिप्ट (build.sh) लिखना होगा और इसे पायथन स्क्रिप्ट कॉल करना होगा। मुझे आशा है कि यह जवाब नहीं है।

उत्तर

9

आपको एक "निष्पादित खोल" का निर्माण कदम का उपयोग करें और /path/to/build.py -i

मेरा अनुमान है कि यह है कि वर्तमान निर्देशिका जब निर्माण काम चलाता है आप क्या उम्मीद कर रहे हैं नहीं है निर्दिष्ट करने के लिए सक्षम होना चाहिए। जेनकींस में एक अंतर्निहित पर्यावरण चर वर्कस्पेस है जो बिल्ड के वर्कस्पेस की जड़ पर सेट है, इसलिए यह मानते हुए कि पाइथन स्क्रिप्ट आपके चेक आउट कोड की रूट पर है, $WORKSPACE/build.py भी काम करना चाहिए।

+0

यह मेरी समस्या का हिस्सा था। मुझे [इस पोस्ट] में जवाब का मुख्य हिस्सा मिला (http://stackoverflow.com/questions/8851886/execute-shell-step-skipped-completely-in-jenkins) - मुख्य रूप से "मैंने एक 'बहु- कॉन्फ़िगरेशन प्रोजेक्ट 'जॉब सृजन स्क्रीन में और इसी कारण से यह किसी भी शैल स्क्रिप्ट को तब तक निष्पादित नहीं करेगा जब तक कि मैंने कॉन्फ़िगरेशन मैट्रिक्स को परिभाषित नहीं किया हो। " दुर्भाग्यपूर्ण है कि यह एक चुप विफलता है। एक बार यह बदल गया, मैं देख सकता था कि स्क्रिप्ट निष्पादित करने में विफल रही है, और वहां से पथ तय किया गया है। Svn चेकआउट निर्देशिका की वजह से इसे $ वर्कस्पेस/ट्रंक/

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

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