मल्टीब्रांच जेनकींस बिल्ड्स में कुछ शाखाओं को कैसे निष्क्रिय करें?


10

मेरे पास एक मल्टीब्रांच जॉब है जो जेनकिंसफाइल के साथ किसी भी शाखा को चलाने के लिए निर्धारित है।

मेरे पास कुछ विकल्प हैं जो मैं सोच सकता हूं कि क्या मैं बहु-शाखा पाइपलाइन के लिए चल रही नौकरियों की सूची से एक शाखा को निकालना चाहता हूं।

  1. मैं शाखा को हटा सकता हूं
  2. मैं उस शाखा में जेनकिंसफाइल को हटा सकता हूं

दूसरा उपाय अच्छा है, सिवाय इसके कि मुझे अपनी शाखा के लिए गिट रेपो के लिए प्रतिबद्ध और धक्का देना होगा, और अगर उस शाखा को किसी अन्य शाखा में विलय कर दिया जाए तो यह जेनकिंसफाइल को उड़ा देती है।

मल्टीब्रंच पाइपलाइन की केवल कुछ शाखाओं को निष्क्रिय करने का सबसे अच्छा तरीका क्या है?

जवाबों:


17

जेनकिंस एक वाइल्डकार्ड या नियमित अभिव्यक्ति का उपयोग करके एक मल्टीब्रांच पाइपलाइन में शाखाओं को फ़िल्टर कर सकते हैं।

जेनकींस फिल्टर शाखाओं


Jenkinsfile के भीतर ऐसा करने का कोई तरीका (इसलिए यह प्रतिलिपि प्रस्तुत करने योग्य है)?
xjcl

1
हां, आप when { anyOf { branch 'master'; branch 'release/**' } }किसी भी चरण में (घोषणापत्र में) या if (env.BRANCH_NAME == 'master' || (env.BRANCH_NAME).startsWith('release/')) {}स्क्रिप्टेड पाइपलाइन के भीतर (लगभग कहीं भी) जोड़ सकते हैं । पहले विकल्प के लिए, jenkins.io/doc/book/pipeline/syntax/#when में अधिक उपलब्ध है । वैसे भी, इसका सबसे अच्छा तरीका मल्टीब्रंच पाइपलाइन प्लगइन में इसे कॉन्फ़िगर करना है, जैसा कि उत्तर में कहा गया है।
बायलौरी

-1

बस उस शाखा पर जेनकिंसफाइल को हटा दें (एस) जिसके लिए आप इसी शाखा की नौकरी नहीं करना चाहते हैं। यह शाखा नौकरी को हटा देगा (बेशक, अगर आपने अपनी "अनाथ वस्तु रणनीति" उचित रूप से निर्धारित की है)।

जेनकिंस मल्टीब्रांच पाइपलाइन परियोजना के दृष्टिकोण से, इसका शाखा को हटाने के समान प्रभाव पड़ता है। इसका कारण यह है कि यह केवल उन शाखाओं के लिए स्कैन कर रहा है, जिसमें जेनकिंसफाइल्स शामिल हैं, जब एक संबंधित शाखा नौकरी बनाने (या हटाने) के लिए इसकी कसौटी के रूप में।

यदि आप को फिर से शाखा की नौकरी की जरूरत है, तो जेनकिंसफाइल को पुनर्स्थापित करने के लिए कमिट करें।


यह बहुत ज्यादा काम है। जब आप एक शाखा बनाते हैं और एक फाइल को हटाते हैं तो आप बिना किसी अच्छे कारण के GIT के इतिहास को बदल देते हैं। Jenkins के स्तर को फ़िल्टर करना बहुत बेहतर है, इसलिए आपको कुछ भी करने की आवश्यकता नहीं है।
केसी वेगा
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.