जेनकिंस - एक विशिष्ट शाखा का निर्माण कैसे करें


95

यह उतना आसान नहीं है, जितना कि एक पैराट्राइज्ड बिल्ड करना है। जब भी इन शाखाओं में से कोई भी GitHub में धकेल दिया जाता है, तो मैं पहले से ही एक विशिष्ट निर्माण प्रक्रिया तैयार कर लेता हूं और उसका निर्माण कर लेता हूं:

यहां छवि विवरण दर्ज करें

इसलिए यदि मैंने अभी-अभी धक्का दिया है developऔर इसे सफलतापूर्वक बनाया है, तो मैं एक मैनुअल बिल्ड को कैसे ट्रिगर कर सकता हूं और इसे खींच feature/my-new-feature(बिना git push) कर रहा हूं ? मैंने पैराट्राइज्ड बिल्ड को सक्षम करने की कोशिश की, जिसे एक नया स्ट्रिंग कहा जाता है branch, और फिर एक नई शाखा विनिर्देशक जोड़कर */$branch,। मैं तो एक का निर्माण और सेट दौड़ा branchकरने के लिए feature/my-new-featureऔर यह अभी भी से खींचा develop

मैं किसी भी मदद की सराहना करेंगे!


क्या आप github webhook के बारे में बात कर रहे हैं इससे आपकी समस्या हल हो सकती है। क्या आप इसे जीथब से ट्रिगर करना चाहते हैं?
अभिजीत कांबले

1
नहीं, GitHub एकीकरण पहले से ही काम कर रहा है। मुझे यह जानने की आवश्यकता है कि किसी विशिष्ट शाखा को मैन्युअल रूप से कैसे बनाया जाए।
ffxsam

3
मेरी भी यही समस्या है। नौकरी को विभिन्न शाखाओं के निर्माण के लिए कॉन्फ़िगर किया गया है और एक गिट हुक द्वारा ट्रिगर किया गया है। लेकिन जब मैं मैन्युअल रूप से एक विशिष्ट शाखा का निर्माण करना चाहता हूं (जीआईटी में नए बदलावों के बिना) मैं "अभी निर्माण करें" पर क्लिक करता हूं लेकिन यह हमेशा नवीनतम चेक आउट शाखा का निर्माण करता है। विभिन्न बिल्ड गुणों की भी कोशिश की।
कॉर्न्ज़

यदि आपके पैरामीटर को शाखा का नाम दिया गया है, तो आपको $branchशाखा निर्दिष्ट क्षेत्र में निर्दिष्ट करने की आवश्यकता है ।
एलेक्सी

1
@Alexey, लेकिन फिर स्वचालित रूप से निर्माण के दौरान यह $branchएक रिक्त स्ट्रिंग में परिणाम देगा, मुझे लगता है।
नकीलोन

जवाबों:


109

सबसे अच्छा समाधान हो सकता है:

मौजूदा नौकरी में एक स्ट्रिंग पैरामीटर जोड़ें यहां छवि विवरण दर्ज करें

फिर आपके द्वारा परिभाषित स्ट्रिंग पैरामीटर का उपयोग करने के लिए Source Code Managementअनुभाग अपडेट मेंBranches to buildयहां छवि विवरण दर्ज करें

यदि आप एक चेकबॉक्स को लेबल करते हुए देखते हैं Lightweight checkout, तो सुनिश्चित करें कि यह अनियंत्रित है।

छवियों में दर्शाया गया कॉन्फ़िगरेशन, जेनकींस की नौकरी को masterडिफ़ॉल्ट शाखा के रूप में उपयोग करने के लिए बताएगा , और मैनुअल बिल्ड के लिए यह आपसे शाखा विवरण (FYI: प्रवेश करने के लिए कहेंगे master)।यहां छवि विवरण दर्ज करें


4
डिफ़ॉल्ट रूप से बिल्डिंग मास्टर इसे सभी विकास शाखाओं का निर्माण करने वाले एक सामान्य विकास निर्माण के लिए नहीं काटेगा।
15

9
मेरे भगवान, यह बहुत चमकदार है। जेनकींस Branches to buildने लानत के साथ अनुभाग क्यों नहीं रखा है, यह उस पर लागू होता है? इसे बनाने के लिए एक शाखा निर्दिष्ट करने के लिए ऐसा करना एक बेवकूफ PITA है।
एलेक्स ज़ावाटोन

9
दांग यह काम नहीं करता है (मेरे लिए)। मैं जेनकींस के साथ एक शाखा की जांच करने की कोशिश कर रहा हूं git.exe fetch --tags --progress origin +refs/heads/${BRANCH}:refs/remotes/origin/${BRANCH} --pruneजो स्पष्ट रूप से अमान्य है।
लियाम

1
यह जेनकिन्स पर एक बग के रूप में लॉग इन है, इसलिए यह देखना मुश्किल है कि यह कभी कैसे काम करता है?
लियाम

19
@ लिआम ने बग टिकट में सुझाव दिया है कि आपको यह काम करने के लिए "लाइटवेट चेकआउट" को अनचेक करना होगा।
asmaier

10

मुझे नहीं लगता कि आप एक ही जेनकिंस नौकरी के भीतर दोनों कर सकते हैं, आपको जो करने की ज़रूरत है वह एक नई जेनकींस नौकरी को कॉन्फ़िगर करने के लिए है जिसकी शाखाओं को पुनः प्राप्त करने के लिए आपके गिटब तक पहुंच होगी और फिर आप चुन सकते हैं कि मैन्युअल रूप से कौन सा निर्माण करना है।

बस इसे एक निर्मित बिल्ड के रूप में चिह्नित करें, एक नाम निर्दिष्ट करें, और एक पैरामीटर जिसे कॉन्फ़िगर किया गया है git parameter

यहां छवि विवरण दर्ज करें

और अब आप गिट विकल्पों को कॉन्फ़िगर कर सकते हैं:

यहां छवि विवरण दर्ज करें


7
कि git पैरामीटर एक jenkins प्लगइन है ?? मुझे उस प्रकार के व्यास को जोड़ने का विकल्प नहीं दिखता है। यदि यह एक प्लगइन है, तो क्या आप इसका जवाब दे सकते हैं?
डेविड

@LeandroDavid हाँ Git Parameter एक प्लगइन है जिसे इंस्टॉल करने की आवश्यकता है इसके बाद आपको Add Parameter के तहत यह विकल्प दिखाई देगा।
गोतोसिन

9

जेनकिंस स्क्रिप्ट के माध्यम से शाखा की जांच करने के लिए उपयोग करें:

stage('Checkout SCM') {
    git branch: 'branchName', credentialsId: 'your_credentials', url: "giturlrepo"
}

1
मुझे पता है कि यह वास्तव में सवाल के बारे में नहीं है, लेकिन मैं इस जानकारी को खोज रहा था और Google इस साइट को उत्तर के रूप में सुझाता रहा।
इगोर एल।

यहाँ वही भाई। क्या आप सटीक उत्तर का जवाब खोजने में सक्षम थे
विचार

0

यह रंजीथ द्वारा प्रदान किए गए उत्तर का विस्तार है

मेरा सुझाव है, आप एक पसंद-पैरामीटर बिल्ड चुनें, और उन शाखाओं को निर्दिष्ट करें जिन्हें आप बनाना चाहते हैं। सक्रिय विकल्प पैरामीटर

और उसके बाद, आप शाखाओं को बनाने के लिए निर्दिष्ट कर सकते हैं। बनाने की शाखा

अब, जब आप अपनी परियोजना का निर्माण करेंगे, तो आपको "बिल्ड विद पैरामीटर्स, जहाँ आप शाखा का निर्माण करने के लिए चुन सकते हैं" के साथ प्रदान किया जाएगा।

आप सक्रिय पसंद पैरामीटर में अपनी सभी शाखाओं को लाने के लिए एक ग्रूवी स्क्रिप्ट भी लिख सकते हैं।


कृपया विस्तार से बताएं। TeamCity डिफ़ॉल्ट रूप से ऐसा करती है, और फिर भी जेनकिन्स अपने खुद के जूते भी नहीं बांध सकता है !!!
सी जॉन्सन

0

यहां छवि विवरण दर्ज करें

बिल्ड ट्रिगर के तहत कॉन्फ़िगर में एक विकल्प होगा

GitHub शाखाओं की जाँच करें

एक हुक बनाया जाएगा और फिर आप जेनकिंस से किसी भी शाखा का निर्माण कर सकते हैं जब आप गीथब ब्रंच का चयन करते हैं यहां छवि विवरण दर्ज करें

आशा करता हूँ की ये काम करेगा :)


मैं इस सेटअप के साथ इस प्लगइन का उपयोग करने की कोशिश कर रहा हूं, लेकिन मुझे काम शुरू करने का तरीका नहीं मिल रहा है। क्या यह जांचने का एक अलग तरीका है कि क्या घटनाएँ सही तरीके से जीएच से आ रही हैं?
वीटो डे टुल्लियो

क्या आपको Run Branch Triggerविकल्प मिल रहा है , यह सभी उपलब्ध शाखाओं के लिए गिट रेपो को स्कैन करता है ... इसके अलावा सिर्फ जेनकींस लॉग में देखें -> मैनेज जेनकींस के तहत ... यह देखने के लिए कि क्या कोई त्रुटि हुई है
rohit thomas

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