जेनकिंस CI v.1.555, Git क्लाइंट प्लगइन v.1.6.4 और Git प्लगइन 2.0.4 का उपयोग करते हुए इनमें से कोई भी उत्तर मेरे लिए पर्याप्त नहीं था।
मैं एक विशिष्ट, निश्चित (यानी, गैर-मानकीकृत) टैग के लिए एक गिट रिपॉजिटरी के निर्माण के लिए नौकरी चाहता था। मुझे विभिन्न जवाबों के साथ-साथ थिलो द्वारा उद्धृत ब्लॉग पोस्ट "बिल्ड ए टैग" बिल्ड ब्लॉग का एक समाधान करना था ।
- सुनिश्चित करें कि आप अपने टैग को दूरस्थ रिपॉजिटरी के साथ धक्का देते हैं
git push --tags
- "स्रोत कोड प्रबंधन" शीर्षक के तहत, अपनी नौकरी के "गिट रिपोजिटरी" अनुभाग में, "उन्नत" पर क्लिक करें।
- Refspec के क्षेत्र में, निम्नलिखित पाठ जोड़ें:
+refs/tags/*:refs/remotes/origin/tags/*
- "ब्रांच टू बिल्ड", "ब्रांच स्पेसियर" के तहत, अपने वास्तविक टैग नाम के साथ
*/tags/<TAG_TO_BUILD>
() की जगह <TAG_TO_BUILD>
लें।
मेरे लिए Refspec जोड़ना महत्वपूर्ण निकला। हालाँकि ऐसा लगता था कि git रिपॉजिटरी सभी दूरस्थ जानकारी को डिफ़ॉल्ट रूप से ला रही थी जब मैंने इसे खाली छोड़ दिया था, फिर भी Git plugin मेरे टैग को खोजने में पूरी तरह से विफल रहेगा। केवल जब मैंने स्पष्ट रूप से "दूरस्थ टैग प्राप्त करें" को निर्दिष्ट किया था Refspec फ़ील्ड में Git प्लगइन मेरे टैग से पहचान और निर्माण करने में सक्षम था।
अपडेट 2014-5-7 : दुर्भाग्यवश, यह समाधान जेनकिंस CI (v.1.555) और Git रिपॉजिटरी पुश नोटिफिकेशन मैकेनिज्म A la Stash Webhook for Jenkins के लिए अवांछनीय साइड-इफेक्ट के साथ आता है : किसी भी समय रिपॉजिटरी पर कोई भी शाखा अपडेट नहीं की जाती है एक धक्का में, टैग निर्माण कार्य भी फिर से आग लग जाएगी। इसके कारण बार-बार एक ही टैग जॉब्स के अनावश्यक अनावश्यक निर्माण होते हैं। मैंने "कार्यक्षेत्र का उपयोग कर फोर्स पोलिंग" विकल्प के साथ और इसके बिना नौकरियों को कॉन्फ़िगर करने की कोशिश की है, और इसका कोई असर नहीं हुआ। एक ही तरीका है कि मैं जेनकिंस को टैग नौकरियों के लिए अनावश्यक बिल्ड बनाने से रोक सकता हूं, वह है रिफस्पेक क्षेत्र को साफ करना (यानी, हटाना +refs/tags/*:refs/remotes/origin/tags/*
)।
यदि किसी को अधिक सुरुचिपूर्ण समाधान मिल जाता है, तो कृपया इस उत्तर को अपडेट के साथ संपादित करें। मुझे संदेह है, उदाहरण के लिए, कि शायद यह तब नहीं होगा जब विशेष रूप से रिस्पेक +refs/tags/<TAG TO BUILD>:refs/remotes/origin/tags/<TAG TO BUILD>
तारांकन-कैच-ऑल के बजाय था । अभी के लिए, हालांकि, यह समाधान हमारे लिए काम कर रहा है, हम बस काम के सफल होने के बाद अतिरिक्त Refspec को हटा देते हैं।