2012-09-04 12 views
6

जेनकिंस जॉइन प्लगइन सभी तत्काल डाउनस्ट्रीम नौकरियों के पूरा होने के बाद नौकरी चलाने की अनुमति देता है।जेनकींस - सभी डाउनस्ट्रीम नौकरियों के बाद ट्रिगर नौकरी पूरी हो गई है, न केवल तत्काल तत्काल

लेकिन सभी डाउनस्ट्रीम नौकरियों के पूरा होने के बाद मैं नौकरी को कैसे कॉन्फ़िगर कर सकता हूं, न केवल तत्काल?

यह आंकड़ा नौकरियों प्रवाह को ट्रिगर मैं उम्मीद पता चलता है:

      A 
          | 
        --+----+------+-- 
         |   | 
         v   v 
         B   C 
         |   | 
    --+--------+-----+---+--  | 
     |  |   |  | 
     v  v   v  | 
     D  E   F  | 
     |  |   |  | 
     v  |   |  | 
     G  |   |  | 
     |  |   |  | 
    ---+--------+----+----+-------+-- 
        | 
        v 
        J 

मैं काम एक पर उत्प्रेरक जुड़ें अंतिम काम जे हालांकि नौकरी जम्मू एक बार बी शुरू कर दिया है और सी पूरा कर लें को गति प्रदान करने के लिए सेट, रुको नहीं है नौकरियों के लिए डी, ई, एफ और जी

this answer और इसकी टिप्पणियों में, यह कहा गया है कि पथ कई नौकरियां गहरी हो सकती हैं और फिंगरप्रिंट का सही ढंग से उपयोग किया जाना चाहिए। लेकिन मैं यह नहीं समझ सकता कि इसे कैसे काम करना है।

उत्तर

5

जॉइन प्लगइन केवल तभी काम करता है जब सबकुछ निर्भरता के "हीरे" में टूट जाता है: एक प्रारंभिक नौकरी, एक या अधिक डाउनस्ट्रीम नौकरियां, लेकिन केवल एक स्तर गहरी (डी और जी आपके आरेख में दो स्तर गहरे हैं) एक ही जॉइन जॉब के बाद। आपकी निर्भरता संरचना उस हीरे पैटर्न का पालन नहीं करती है।

इस विशेष स्थिति के लिए, मैं Promoted Builds Plugin का उपयोग करूंगा। सेटअप जॉब ए को प्रचार करने के लिए जो ट्रिगर होता है, जॉब जे चलाता है। उस पदोन्नति के लिए ट्रिगर बनाएं बी, सी, डी, ई, एफ, जी का सफल समापन होना चाहिए या यदि इसे कम करना चाहते हैं: जी, ईएफ, सी बस सुनिश्चित करें कि फिंगरप्रिंटिंग सही तरीके से सेटअप है।

फिंगरप्रिंटिंग के लिए, जॉब ए के दौरान एक फ़ाइल उत्पन्न करें (या मौजूदा फ़ाइल चुनें) इसे आर्टिफैक्ट करें और इसे फिंगरप्रिंट करें। निम्नलिखित सभी नौकरियों में बी-जी, उस फ़ाइल को नौकरी में लाने के लिए CopyArtifact प्लगइन का उपयोग करें और साथ ही फिंगरप्रिंट भी करें।

+0

क्या आप फिंगरप्रिंटिंग को थोड़ा विस्तारित कर सकते हैं और निर्माण सेटअप को बढ़ावा दे सकते हैं? मैंने लगभग एक ही सवाल पूछा [यहां] (http://stackoverflow.com/questions/26101765/jenkins-pipeline-top-level-join-gets-triggered-before-sub-level-join) – dstj

+0

हो गया - उत्तर दिया गया है फिंगरप्रिंटिंग पर अतिरिक्त जानकारी के साथ अद्यतन किया गया। –

3

यदि कोई आसान तरीका ढूंढ रहा है तो बस JobFanIn plugin का उपयोग करें। यह प्लगइन आपको जॉब जे पर ट्रिगर सेट करने की अनुमति देगा, एक बार सी, ई, एफ & जी निर्माण और स्थिर

+1

बिल्कुल मुझे जो चाहिए, सरल निर्माण निर्भरता समाधान धन्यवाद। – dkanejs

+0

आपको अपस्ट्रीम नौकरी से मर्ज किए गए नौकरी के पैरामीटर पास नहीं करने देता है। –

+0

मुझे लगता है कि एक सीमा है। ऐसा करने के लिए प्लगइन को बढ़ाया जा सकता है लेकिन कई अपस्ट्रीम परियोजनाओं को पास करने वाले पैरामीटर के साथ इसे डाउनस्ट्रीम नौकरी भी संभालना होगा। देखेंगे कि यह प्लगइन में जोड़ा जा सकता है या नहीं – Yogesh

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