2012-03-28 18 views
28

मेरे पास एक गिटहब रेपो है जो बड़ा है और इसमें कई स्वतंत्र रूप से बिल्ड-सक्षम बिट्स शामिल हैं। यदि मैं इनमें से प्रत्येक के लिए जेनकिंस को नौकरी (या दो) के साथ कॉन्फ़िगर करता हूं, तो मैं कई बार डेटा के गीगाबाइट खींचने (प्रत्येक नौकरी के लिए रेपो का एक क्लोन) खींचने के साथ समाप्त होता हूं।मैं एक स्थानीय गिट रेपो से काम करने के लिए एकाधिक जेनकींस कैसे बना सकता हूं?

यह डिस्कस्पेस और बैंडविड्थ दोनों लेता है।

मैं क्या करना चाहता हूं "स्थानीय रीपो रीफ्रेश करें" नौकरी है जो एक बार जिथब क्लोन करता है, फिर प्रत्येक कार्य को उस रेपो से क्लोन करने के लिए कॉन्फ़िगर करें और बनाएं। फिर उप-नौकरियों को निर्भर बनाता है, मैं "रीफ्रेश स्थानीय रेपो" चला सकता हूं, क्या यह गिटहब से सभी नवीनतम सामान खींच सकता है, फिर प्रत्येक बिल्ड रन चलाएं।

अब तक मुझे "ताज़ा स्थानीय रेपो" काम मिल रहा है - यह क्लोन सफलतापूर्वक है, और यदि मैं वर्कस्पेस पर जाता हूं, तो मुझे लगता है कि इसमें मूल/मास्टर की हेड प्रतिबद्धता है।

समस्या अन्य नौकरियां हैं - ये अद्यतनों को चुनने लगते नहीं हैं। यहाँ मैं उन में से एक के लिए कॉन्फ़िगर कैसे कर लिया है:

Git 
Repository URL file:////Users/malcolmbox/.jenkins/jobs/Refresh Local repo/workspace 
Branches to build master 
नवीनतम करने के लिए इस अद्यतन करने के बजाय

प्रतिबद्ध, यह अतीत में अटक कई दिनों है।

मैं इसे टिप खींचने और सही चीज़ करने के लिए कैसे प्राप्त कर सकता हूं?

स्पष्ट करने के लिए: .../ताज़ा स्थानीय रेपो/कार्यक्षेत्र प्रतिबद्ध 6b20268389064590147d5c73d2b6aceb6ba5fe70 प्रस्तुत 28/3

निर्भर निर्माण, निर्माण चलाने के बाद (ताकि शायद एक Git क्लोन कर/कदम खींच) की जाँच की है है 79a25992cc1923765[cb634ee0f7eb3033fc7e ने 26/3 प्रस्तुत किया - तो यह कुछ दिनों पीछे है।

उत्तर

28

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

यदि आपके पास अपने भंडार का स्थानीय क्लोन है, तो संदर्भ रेपो फ़ील्ड में पथ जोड़ें।

गिट तब स्थानीय क्लोन का उपयोग करेगा और डिस्क पर अधिकांश गिट ऑब्जेक्ट्स साझा करेगा और स्थानीय क्लोन से जो गुम है, उसके परिणामस्वरूप केवल गिटब से खींच रहा है जिसके परिणामस्वरूप बिजली तेज क्लोन और सहेजी गई डिस्क स्पेस हो सकती है।

या यह ठीक है कि आपने अपना काम कैसे कॉन्फ़िगर किया है और यह नवीनतम काम नहीं कर रहा है? यदि ऐसा है, तो कृपया अधिक जानकारी प्रदान करें। अपनी नौकरी विन्यास प्रकाशित करने पर विचार करें।

+0

धन्यवाद - यह वही दिखता है जो मैं ढूंढ रहा हूं! मैं परीक्षण करूँगा ... –

+8

बस स्पष्ट करना चाहता था: ऐसा लगता है कि नवीनतम गिट प्लगइन में अब उन्नत विकल्पों का पॉपअप मेनू है और संदर्भ रेपो "उन्नत क्लोन व्यवहार" के अंतर्गत है। – sti

+0

यह उत्कृष्ट है! अच्छी तरह से काम करने लगता है। – AlexeiOst

2

Clone Workspace plugin पर एक नज़र डालें। आप या तो गीथूब से स्थानीय भंडार को अद्यतन करने के लिए उस नौकरी का उपयोग या कॉन्फ़िगर कर सकते हैं और उसके बाद अन्य सभी नौकरियां उस स्थानीय रेपो से खींच सकती हैं।

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

+0

मैं डिस्कस्पेस के बारे में कम चिंतित हूं, और वैसे भी मुझे विश्वास है कि गिट स्मार्ट है और स्थानीय रिपो क्लोन करते समय संभवतः लिंक का उपयोग करता है। स्थानीय रेपो से खींचने के लिए अन्य सभी नौकरियां प्राप्त करना मैं चाहता हूं कि मैं क्या करना चाहता हूं - लेकिन मैं यह नहीं समझ सकता कि कैसे। ऐसा लगता है कि वे स्थानीय रेपो के माध्यम से भी नई प्रतिबद्धता नहीं खींचते हैं। –

+0

आप बिल्ड को कैसे ट्रिगर करते हैं? क्या आपने स्थानीय रेपो मतदान और मतदान लॉग की जांच करने की कोशिश की है? –

+0

मैं माध्यमिक बिल्ड –

0

मुझे वही अनुभव था।

मेरे पास असली रिमोट रेपो खींचने का एक काम है, जो कि जिथब है।

file:///C:/Program Files (x86)/Jenkins/jobs/webtest-local-repo/workspace/.git 

यह ठीक क्लोन, लेकिन बाद में फ़ेच किसी भी परिवर्तन की सूचना नहीं:

अन्य नौकरियों (कई देखते हैं) में से प्रत्येक के इस तरह एक "भंडार यूआरएल" है।

एक ही मुद्दा गिटबाश में प्रस्तुत करता है, इसलिए मुझे लगता है कि यह एक गिट मुद्दा है, जेनकिंस मुद्दा नहीं।

मेरा भयानक कामकाज निर्भर भवनों को समाप्त होने के दौरान अपने कार्यक्षेत्रों को हटाने के लिए था, ताकि प्रत्येक गिट ऑपरेशन "क्लोन" हो। यह हास्यास्पद है, लेकिन एक ही जिथब रेपो में एक अरब नौकरियों को टक्कर मारने से शायद कम हास्यास्पद हो सकता है।

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

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

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