बता दें कि जेनकिंस एक विशेष गुलाम नोड पर एक विशेष परियोजना चलाने के लिए


87

मैं जेनकिंस को किसी विशेष दास पर एक विशिष्ट परियोजना चलाने के लिए कैसे कहूं?

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


जवाबों:


84

अपने कार्य कॉन्फ़िगरेशन में "प्रतिबंधित करें जहां यह काम चलाया जा सकता है" चेक बॉक्स सेट करें और अपने दास का नाम निर्दिष्ट करें।

यदि आप बाद में अधिक दास जोड़ते हैं, तो आप प्रत्येक दास के लिए लेबल सेट कर सकते हैं और उन लोगों को निर्दिष्ट कर सकते हैं जो आपके कार्य को कॉन्फ़िगर करते हैं।

इस संदर्भ प्रलेखन देखें:


धन्यवाद। मैंने आपका उत्तर पाने से पहले काफी समय इस्तेमाल किया। इसे इस पृष्ठ पर जोड़ा जाना चाहिए wiki.jenkins-ci.org/display/JENKINS/Distributed+builds
Surasin Tancharoen

16

यदि आप एक पाइपलाइन काम चला रहे हैं, तो आप पहले एक लेबल जोड़ना चाहते हैं (जैसे 'दास') दास नोड (या एजेंट के रूप में इसे अब कहा जाता है)।

फिर, पाइपलाइन स्क्रिप्ट में, आप उस लेबल को निर्दिष्ट करते हैं जिस पर काम चलता है:

घोषणात्मक पाइपलाइन:

pipeline {
    agent {label 'slave'}
    stages {
        ...
    }
}

स्क्रिप्टेड पाइपलाइन:

node (label: 'slave') {
    ...
}

यह काम अब किसी भी नोड पर लेबल 'दास' के साथ चलेगा। यदि आप केवल नौकरी को इस विशेष दास पर चलाना चाहते हैं, तो लेबल का पुन: उपयोग न करें। और निश्चित रूप से लेबल का 'दास' होना जरूरी नहीं है; यह आप जो चाहें कर सकते हैं।

अपडेट करें:

स्क्रिप्टेड पाइपलाइन में, यदि आपके नोड का नाम "मेरा नोड" है, तो आप यह भी कर सकते हैं:

node ('My Node') {
    ...
}

यदि आप केवल उस विशेष नोड पर कोड ब्लॉक चलाना चाहते हैं, तो यह उपयोगी है। हालांकि, लेबल का उपयोग करना अधिक लचीला है, और कार्यभार को साझा करने के लिए नोड्स जोड़ना आसान बना सकता है।


यह खोजना बहुत कठिन था, स्क्रिप्टेड सिंटैक्स के लिए दस्तावेज़ीकरण घोषणा के पक्ष में मर रहा है, मैं अभी तक माइग्रेट नहीं कर सकता, इसलिए धन्यवाद!
मिशेल करी

7

यदि आप एक पैरामीटर के रूप में नोड / लेबल का उपयोग करना चाहते हैं तो NodeLabel Parameter Plugin इंस्टॉल करें


ध्यान दें कि यदि आप नौकरी के लिए "नोड" पैरामीटर चुनते हैं और आप इसे ग्रूवी से बुलाना चाहते हैं तो आपको एक विशेष पैरामीटर बनाने की आवश्यकता है: params += new org.jvnet.jenkins.plugins.nodelabelparameter.LabelParameterValue('testServer', testServerLabel);(सामान्य के बजाय StringParameterValue)।
नक्स
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.