2012-01-30 11 views
6

हमारी परियोजना संरचना को विभाजित किया गया है। एक तरफ/मुख्य प्लगइन परियोजनाओं वाले प्लगइन फ़ोल्डर हैं। दूसरी ओर हमारे पास एक/परीक्षण फ़ोल्डर है जिसमें सभी खंड परियोजनाएं हैं जो उनके संबंधित मुख्य प्लगइन परियोजनाओं के लिए यूनिट परीक्षण हैं।जेनकींस: मैं पहले दो को हटाए बिना एक ही वर्कस्पेस में दो रिपोजिटरी यूआरएल कैसे देखूं?

जेनकींस मुझे कई खजाने की जाँच, और यहां तक ​​कि कार्यक्षेत्र में एक ही फ़ोल्डर में देता है।

समस्या यह है कि जब दूसरा URL की जाँच की है पहले चेकआउट नष्ट कर दिया जाता है।

/plugins कार्यक्षेत्र निर्देशिका में रखा जाता है, तो कार्यक्षेत्र निर्देशिका "साफ" है:

Cleaning local Directory . 

तो दूसरा निर्देशिका/परीक्षण की जाँच की है।

बेशक

मैं चाहता हूँ कि दोनों फ़ोल्डर सामग्री समान कार्यस्थल निर्देशिका में रखा जाता है। मैं उसे कैसे कर सकता हूँ?

+0

बिल्डिंग के लिए आप किस टूल (सेट) का उपयोग करते हैं? –

+1

आप किस भंडार का उपयोग कर रहे हैं? – Sagar

+0

@ डैनोवर - क्या टोबी का उत्तर आपकी आवश्यकताओं के लिए पर्याप्त है? यदि ऐसा है, तो कृपया इसे इस तरह ध्वजांकित करें। यदि नहीं, तो अधिक जानकारी के साथ प्रश्न अपडेट करें। –

उत्तर

5

आप अपनी परियोजनाओं चेकआउट करने के लिए सबवर्सन उपयोग कर रहे हैं मान लिया जाये, तो आप "स्थानीय मॉड्यूल निर्देशिका" प्रत्येक पथ आप बाहर की जाँच कर रहे हैं के लिए डिफ़ॉल्ट के अलावा कुछ करने के लिए निर्दिष्ट करने के लिए की जरूरत है।

उदाहरण के लिए,

आप svn है: // myrepo/MyProject/plugins और SVN: // myrepo/MyProject/परीक्षण, विन्यास की तर्ज पर हो सकता है;

यह जेनकिन्स को सूचित करेगा कि चेकआउट और अलग-अलग स्थानों में इसके दो पथ हैं। मूल निर्देशिका पर बाहरी:

आप एक और काम कर रहे प्रतिलिपि के सबफ़ोल्डर में एक परियोजना चेकआउट करने के लिए कोशिश कर रहे हैं, तो आप SVN उपयोग करने के लिए हो सकता है।

  • मुख्य भंडार
  • अन्य अतिरिक्त खजाने

यहाँ मैं विशेष रूप से चर्चा करते हुए हूँ:

+0

100% सहमत: क्या टोबी वर्णन करता है बस ठीक काम करता है! –

0

नई जेनकींस 2.0 पाइपलाइन (पहले कार्यप्रवाह प्लगइन नाम) में, इस के लिए अलग तरह से किया जाता है मल्टीब्रैंच पाइपलाइन संस्करण 2.9 पर।

मुख्य भंडार

यह भंडार है कि आपके Jenkinsfile होता है।

अपने पाइप लाइन परियोजना के लिए कॉन्फ़िगर स्क्रीन में,

>अतिरिक्त व्यवहार का प्रयोग न करें किसी उप-निर्देशिका के लिए बाहर की जाँच करें अपने भंडार नाम, आदि दर्ज करें। यह उप-निर्देशिका where Jenkins cannot find it में आपके Jenkinsfile डाल देगा।

Jenkinsfile में, dir() का उपयोग कर उप-निर्देशिका के मुख्य भंडार की जाँच:

dir('subDir') { 
    checkout scm 
} 

अतिरिक्त खजाने

आप अधिक खजाने की जाँच करने के लिए, करने के लिए पाइपलाइन सिंटेक्स जनरेटर का उपयोग करना चाहते हैं स्वचालित रूप से एक ग्रोवी कोड स्निपेट उत्पन्न करें।

अपने पाइप लाइन परियोजना के लिए कॉन्फ़िगर स्क्रीन में:

  1. करें पाइपलाइन सिंटेक्सनमूना चरण ड्रॉप डाउन मेनू में, चेकआउट चुनें: सामान्य एससीएम
  2. अपनी एससीएम प्रणाली का चयन करें, जैसे गिट। अपने भंडार या डिपो के बारे में सामान्य जानकारी भरें।
  3. ध्यान दें कि मल्टीब्रैंच पाइपलाइन में, पर्यावरण चर env.BRANCH_NAME में मुख्य भंडार का शाखा नाम शामिल है।
  4. अतिरिक्त व्यवहार ड्रॉप डाउन मेनू में, उप-निर्देशिका
  5. क्लिक करें ग्रूवी उत्पन्न करने के लिए बाहर का चयन चेक। जेनकींस आपके द्वारा निर्दिष्ट एससीएम चेकआउट के अनुरूप ग्रोवी कोड स्निपेट प्रदर्शित करेगा।
  6. इस कोड को अपनी पाइपलाइन स्क्रिप्ट या Jenkinsfile पर कॉपी करें।
संबंधित मुद्दे