जेनकींस पाइपलाइन: एजेंट बनाम नोड?


134

जेनकींस पाइपलाइन में एक एजेंट और एक नोड के बीच अंतर क्या है ?

मैंने उन परिभाषाओं को पाया है:

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

तो दोनों का उपयोग पाइपलाइन चरणों को निष्पादित करने के लिए किया जाता है। लेकिन कब कौन सा उपयोग करें?

जवाबों:


145

सरल जवाब है एजेंट के लिए है कथात्मक पाइपलाइनों और नोड के लिए है पटकथा पाइपलाइनों।

घोषणात्मक पाइपलाइनों में एजेंट के निर्देश का उपयोग यह निर्दिष्ट करने के लिए किया जाता है कि किस एजेंट / दास को कार्य / कार्य निष्पादित करना है। यह निर्देश केवल आपको यह निर्दिष्ट करने की अनुमति देता है कि कार्य को कहाँ निष्पादित किया जाना है, कौन सा एजेंट, दास, लेबल या docker छवि।

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

घोषणात्मक और स्क्रिप्टेड पाइपलाइन (टिप्पणी के आधार पर संपादित करें):

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

5
हां और कोई घोषणात्मक पाइपलाइन पाइपलाइन डीएसएल का एक नया विस्तार है (यह मूल रूप से केवल एक कदम के साथ एक पाइपलाइन स्क्रिप्ट है, तर्कों के साथ एक पाइपलाइन कदम (निर्देश कहा जाता है), इन निर्देशों को एक विशिष्ट वाक्यविन्यास का पालन करना चाहिए। इस नए प्रारूप का बिंदु। यह अधिक सख्त है और इसके लिए उन नई पाइपलाइनों के लिए आसान होना चाहिए, ग्राफिकल एडिटिंग की अनुमति और बहुत कुछ, ऊपर अपने लिंक पर सुविधा सूची देखें। इसलिए सरल कार्य के लिए मैं कहूंगा कि यह अनुशंसित दृष्टिकोण है, लेकिन अधिक उन्नत के लिए। मामलों, स्क्रिप्टेड कमबैक है।
जॉन एस।

6
अब वहाँ के साथ 3 नाम हैं node, agentऔर slave!
mkobit

2
@mkobit हाँ, नाम काफी भ्रामक हैं, मैंने कहीं पढ़ा (संदर्भ अभी नहीं मिल रहा है, या तो यह जेनकिंस ब्लॉग पर था या जेनकिंस जेआईआरए पर), कि वे गुलाम के बजाय एजेंट का नाम बदलने और उपयोग करने की कोशिश कर रहे हैं क्योंकि यह तब से है "नकारात्मक" शब्द के रूप में नहीं। तब मुझे लगता है कि घोषणा की गई पाइपलाइनों ने इसे अपनाया और इसे एजेंट कहा। मुझे लगता है, नोड स्क्रिप्टेड पाइपलाइनों से उत्पन्न होता है।
जॉन एस

1
@DenCowboy अहा, हां, मैं कहूंगा कि 4 वीं सबसे अच्छी प्रैक्टिस केवल स्क्रिप्टेड पाइपलाइन पर लागू होती है क्योंकि घोषणात्मक हमेशा एक नोड आवंटित करती है, एजेंट निर्देश केवल यह बताता है कि कौन सा नोड आवंटित किया गया है।
जॉन एस

1
@DenCowboy नहीं, इसे उसी का उपयोग करना चाहिए, यह शुरू में किस एजेंट / गुलाम का उपयोग करता है, यह निर्धारित करने के लिए एजेंट निर्देश का उपयोग करता है।
जॉन एस
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.