2017-04-19 20 views
18

मैं जेनकिंस के आधार पर अपनी पुरानी स्टाइल प्रोजेक्ट बेस वर्कफ़्लो को पाइपलाइन में बदलने की कोशिश कर रहा हूं। docs के माध्यम से जाने पर मुझे पता चला कि scripted और declarative नामक दो अलग-अलग वाक्यविन्यास हैं। हाल ही में जेनकिंस वेब declarative सिंटैक्स रिलीज (2016 का अंत) रिलीज। यद्यपि एक नया वाक्यविन्यास रिलीज है, जेनकिंस अभी भी लिपिबद्ध वाक्यविन्यास का समर्थन करता है।जेनकींस स्क्रिप्ट पाइपलाइन या घोषणात्मक पाइपलाइन

अब, मुझे यकीन नहीं है कि इन दोनों प्रकारों में से प्रत्येक स्थिति सबसे अच्छी मैच होगी। scripted सिंटैक्स जल्द ही बहिष्कृत किया जाएगा? तो declarative जेनकींस पाइपलाइन का भविष्य होगा?

कोई भी जो इन दो वाक्यविन्यास प्रकारों के बारे में कुछ विचार साझा कर सकता है।

+0

मुझे लिप्यंतरित होने के बारे में कुछ भी नहीं दिख रहा है, और यह घोषणात्मक और लिपिबद्ध के बीच सुविधा अंतर पर विचार करने से खतरनाक होगा। –

उत्तर

8

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

अधिक संदर्भ: https://jenkins.io/blog/2017/02/03/declarative-pipeline-ga/

3

जेनकींस प्रलेखन ठीक से बताते हैं और दोनों प्रकार तुलना करती है।

के शब्दों में: "पटकथा पाइपलाइन जेनकींस उपयोगकर्ताओं के लिए लचीलापन और तानाना की भारी मात्रा प्रदान करता है ग्रूवी सीखने-वक्र आम तौर पर किसी दिए गए टीम के सभी सदस्यों के लिए वांछनीय नहीं है, इसलिए घोषणात्मक पाइपलाइन एक सरल पेशकश करने के लिए बनाया गया था। और जेनकिन्स पाइपलाइन को संलेखन के लिए अधिक विचारित वाक्यविन्यास।

दोनों मौलिक रूप से एक ही पाइपलाइन उप-प्रणाली के नीचे हैं। "

यहां अधिक पढ़ें: https://jenkins.io/doc/book/pipeline/syntax/#compare

7

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

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

दोनों मौलिक रूप से नीचे एक ही पाइपलाइन उप-प्रणाली हैं। वे "पाइपलाइन कोड के रूप में दोनों टिकाऊ कार्यान्वयन हैं।" वे दोनों पाइपलाइन में बनाए गए चरणों या प्लगइन द्वारा प्रदान किए गए चरणों का उपयोग करने में सक्षम हैं। दोनों साझा पुस्तकालय

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

https://jenkins.io/doc/book/pipeline/syntax/

2

एक और बात से कॉपी किया गया विचार करने के लिए घोषणात्मक पाइपलाइनों एक स्क्रिप्ट() कदम है। https://jenkins.io/doc/pipeline/steps/pipeline-model-definition/#code-script-code-run-arbitrary-pipeline-script यह किसी भी पटकथा पाइपलाइन चला सकते हैं। तो मेरी सिफारिश घोषणात्मक पाइपलाइनों का उपयोग करना होगा, और यदि आवश्यक पटकथाओं के लिए आवश्यक उपयोग स्क्रिप्ट()। इसलिए आप दोनों दुनिया के सर्वश्रेष्ठ प्राप्त करते हैं।

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