2016-07-26 6 views
7

मैं Red Hat Linux पर जेनकिन्स 2.6 का उपयोग कर रहा हूं। मैं अपने जेनकिन्सफाइल में निम्नलिखित का उपयोग करना चाहता हूं, लेकिन जब मैं कोशिश करता हूं, जेनकिंस कड़वाहट से शिकायत करते हैं। (यह केवल = ऑपरेटर के बाईं ओर वाक्य रचना नापसंद करने के लिए लगता है।):जेनकिन्सफाइल: कई चरों को मानों को परिभाषित और असाइन करना एक बार में लागू नहीं किया जाता है

def (a, b) = [6, 7] 

यह एकाधिक कार्य पसंद नहीं करता है ऐसा लगता है, अभी तक ग्रूवी 1.6 और बाद में जाहिरा तौर पर उन्हें समर्थन करते हैं, इस पोस्ट के अनुसार :

http://mrhaki.blogspot.co.uk/2009/09/groovy-goodness-multiple-assignments.html

मैं ऐसा करना चाहते हैं ताकि जब मैं एक विधि है कि रिटर्न फोन [6, 7] मैं इसे इस तरह कॉल कर सकते हैं:

def (a, b) = mymethod() 

def mymethod() 
{ 
    return [6, 7] 
} 

कर सकते हैं एक nyone मुझे बताओ कि यह जेनकींस में काम करना चाहिए और यदि ऐसा है तो जेनकींस के किस संस्करण में? या यह एक असमर्थित सुविधा है? या एक बग?

धन्यवाद

+2

यह तय किया गया है! https://issues.jenkins-ci.org/browse/JENKINS-44027 – rjohnston

उत्तर

0

यह उपलब्ध होना चाहिए (और वास्तव में यह स्क्रिप्ट कंसोल से काम करता है) लेकिन यह जो कुछ भी यह एक पाइप लाइन स्क्रिप्ट से काम नहीं किया गया है बनाने के लिए आवश्यक है की तरह लग रहा है।

देव मेलिंग सूची (https://groups.google.com/forum/#!forum/jenkinsci-dev) आपको यह बताने में सक्षम हो सकती है कि यह एक बग है या सिर्फ असमर्थित सुविधा है!

3

के रूप में समझाया here, पाइपलाइन "स्क्रिप्ट" नहीं सरल ग्रूवी लिपियों, वे भारी चलाने से पहले तब्दील हो रहे हैं, उनके राज्य के साथ मास्टर पर कुछ भागों, दास पर कुछ भागों, (चर मान) धारावाहिक और अगले चरण पर पारित कर दिया। इस प्रकार, हर ग्रोवी सुविधा समर्थित नहीं है।

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

ऐसा लगता है कि कई असाइनमेंट वास्तव में समर्थित नहीं हैं। मुझे केवल यह पुष्टि करने के लिए यह संदर्भ मिला: this example of a commit जहां लेखक उस सीमा के कारण सरल कोड को अपने कोड को कई लोगों से बदलता है।

शायद @rjohnston द्वारा सुझाए गए मेलिंग सूची पर इसके लिए पूछने का एक अच्छा विचार है।

+0

हाय सोचें कि यह प्रतिबंध अभी भी [स्क्रिप्ट पाइपलाइन] में थोड़ा उलझन में है (https://jenkins.io/doc/book/pipeline/syntax/ # स्क्रिप्ट-पाइपलाइन) दस्तावेज़ क्योंकि यह कहता है कि "ग्रोवी भाषा द्वारा प्रदान की गई अधिकांश कार्यक्षमता उपयोगकर्ताओं को उपलब्ध कराई गई है ..."। कहीं भी परिभाषित करने के लिए और अधिक मददगार होगा जो इसमें ग्रोवी का असली दायरा है। – snaphuman

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