2012-12-07 10 views
6

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

वर्तमान में दो अलग-अलग बिल्ड दो अलग-अलग निर्देशिकाओं की जांच कर रहे हैं।

उत्तर

14

आप चेकआउट निर्देशिका स्थानों पर नियंत्रण डालकर इसे पूरा कर सकते हैं।

सबसे पहले आपको अपनी चेकआउट निर्देशिका को किसी ऐसे चीज़ को परिभाषित करने की आवश्यकता है जिसे दोनों बिल्डों के लिए जाना जा सके। अपनी बिल्ड कॉन्फ़िगरेशन में, संस्करण नियंत्रण सेटिंग्स -> चेकआउट सेटिंग्स पर ब्राउज़ करें। चेकआउट निर्देशिका सेटिंग को Custom Path पर बदलें। फिर आपको उस निर्देशिका को प्रदान करने के लिए कहा जाएगा जिसमें आप अपने स्रोत को चेकआउट करना चाहते हैं। यह कहीं भी हो सकता है **, जब तक टीमसिटी के पास विशेषाधिकार लिखते हैं।

अगला, आपको प्रत्येक प्रोजेक्ट के लिए चेकआउट नियम (संस्करण नियंत्रण सेटिंग्स पर भी) को संशोधित करने की आवश्यकता है जैसे कि वे Checkout निर्देशिका की रूट से संबंधित फ़ोल्डर को लक्षित कर रहे हैं। आप नियम को +:%some.repo.path%=>/%some.sub.folder% पर सेट करके कर सकते हैं। आप वहां मौजूद किसी सबफ़ोल्डर को निर्धारित कर सकते हैं। हम बस चेकआउट निर्देशिका रूट (=>/) में सबकुछ चेकआउट करते हैं।

यदि दोनों परियोजनाएं एक ही चेकआउट निर्देशिका का संदर्भ दे रही हैं, तो सेटिंग के इस संयोजन से आपको वह नियंत्रण और लचीलापन मिलना चाहिए जो आप खोज रहे हैं।

** हमारी Checkout निर्देशिका के लिए हम पैरामीटरयुक्त मान %teamcity.agent.work.dir%\%system.teamcity.projectName%\%branch% का उपयोग करते हैं। पहले दो पैरामीटर टीमसिटी सिस्टम पैरामीटर हैं, और अंतिम हमारे द्वारा परिभाषित किया गया है। हमारे सिस्टम पर यह जी: \ BuildAgent \ work \ $ प्रोजेक्ट \ $ शाखा का हल करता है, जो सब कुछ साफ और अनुमानित रखता है।

1

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

कहें कि आपके पास दो कॉन्फ़िगरेशन ए और बी हैं और आपने उन्हें उसी निर्देशिका में बनाने के लिए टीमसिटी कॉन्फ़िगर किया है, लेकिन ए और बी में अलग-अलग VCS सेटिंग्स हैं। फिर चेकआउट के दौरान क्या किया जाना चाहिए?

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

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

यह भी देखें: http://confluence.jetbrains.com/display/TCD8/Build+Checkout+Directory http://confluence.jetbrains.com/display/TCD8/Clean+Checkout

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

  • कोई संबंधित समस्या नहीं^_^