2013-01-22 14 views
13

मैं एक ही समय में चलाने के लिए कॉन्फ़िगर ए और बिल्ड कॉन्फ़िगर बी नहीं बनाना चाहता, जो संभव है क्योंकि मेरे पास एकाधिक एजेंट हैं। इससे कोई फ़र्क नहीं पड़ता कि इन कॉन्फ़िगरेशन में कौन सा ऑर्डर चल रहा है। वे एक ही टीमसिटी प्रोजेक्ट का हिस्सा भी नहीं हैं और प्रत्येक एक अलग एसवीएन रिपोजिटरी को लक्षित करता है। हालांकि, दोनों के लिए एक ही समय में चलना संभव है यदि प्रत्येक रेपो में एक साथ चेक इन किया जाता है।टीमसिटी: एक साथ चलने से 2 बिल्डों को रोकें

इसके बजाय मैं एक कॉन्फ़िगर करना चाहता हूं कि दूसरे को समाप्त करने के लिए बस प्रतीक्षा करें। उदाहरण के लिए यदि बिल्ड कॉन्फ़िगर बी को चलाने के लिए शुरू होता है लेकिन बिल्ड कॉन्फ़िगर ए पहले से चल रहा है, तो बी समाप्त होने तक प्रतीक्षा करेगा और फिर यह चल जाएगा।

मुझे नहीं लगता कि स्नैपशॉट निर्भरता काम करेगी क्योंकि ऐसा लगता है कि एक कॉन्फ़िगरेशन पर निर्भरता है जो मेरे मामले में सच नहीं है।

+1

वे स्वतंत्र रूप से क्यों नहीं चल सकते हैं? क्या वे साझा संसाधन के माध्यम से एक दूसरे के साथ हस्तक्षेप करेंगे? क्या आप उन्हें एक ही एजेंट को पिन कर सकते हैं? – Matt

+0

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

+0

वे साझा संसाधन की वजह से स्वतंत्र रूप से नहीं चल सकते हैं। आदर्श रूप से मुझे इसके चारों ओर एक रास्ता मिल जाएगा लेकिन यह कुछ पुन: कॉन्फ़िगर कर देगा, इसलिए मैं कम से कम अस्थायी रूप से उन्हें एक साथ चलने से रोकने के लिए उम्मीद कर रहा हूं। – Keith

उत्तर

9

त्वरित और गंदे के लिए, प्रोजेक्ट के लिए संगत एजेंट टैब पर नियम बनाएं। उन्हें xxx (जो कुछ भी है) वाले एजेंट नाम पर चलना है, तो वे बिल्ड केवल उस एजेंट पर ही चल सकते हैं और कभी भी एक ही समय में नहीं चलेंगे।

+2

मुझे लगता है कि यह अच्छा होगा अगर टीमसिटी के पास बिल्ड कॉन्फ़िगरेशन के खिलाफ विकल्प था यानी 'एक साथ सक्षम करें' जो डिफ़ॉल्ट रूप से चालू था। कल्पना नहीं कर सकता कि यह लिखने के लिए एक कठिन प्लगइन होगा, अगर मेरे पास समय है तो मैं इसे छोड़ दूंगा - हालांकि, इस दौरान यह कामकाज स्वीकार्य से अधिक है :) – James

10

कीथ, दो प्लगइन्स हैं जो आपकी मदद कर सकते हैं: पहला वाला Groovy plugin है। इसमें सभी परियोजनाओं पर नाम ताले बनाने की कार्यक्षमता है।

दूसरा वाला TeamCity.SharedResources है। इसमें निश्चित साझा संसाधनों की कार्यक्षमता है और उन्हें पढ़ने और लिखने वाले ताले के साथ लॉक करना है। हालांकि, इस प्लगइन में परिभाषित संसाधनों को प्रति-परियोजना परिभाषित किया गया है। हम सक्रिय रूप से इस प्लगइन को विकसित कर रहे हैं, इसलिए आपका पृष्ठ our tracker

+0

साझा संसाधनों को टीमसिटी के साथ v8.0 के रूप में बंडल किया गया है, जो अब सही उत्तर की तरह लगता है। –

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