2012-08-07 12 views
6

हम टीमसिटी को सीआई सर्वर के रूप में उपयोग कर रहे हैं और हम सोच रहे हैं कि हमारी रिलीज़ को संस्करणित करने के लिए विधि को कैसे कार्यान्वित किया जाए (यानी मानव त्रुटि के लिए न्यूनतम अवसर) लेकिन यह भी कि कम से कम प्रयास संभव है। अब तक निम्नलिखित सबसे तार्किक लगता है:संस्करण फ़ाइल से संस्करण संख्या को पढ़ने और अपडेट करने के लिए टीमसिटी

  1. एक संस्करण फ़ाइल बनाएं (या assemblyinfo.cs का उपयोग करें)। संस्करण की जानकारी प्रारूप में होगी .... यह फ़ाइल मेरे वीसीएस में जांच की जाएगी।
  2. भागो एक TeamCity निर्माण
  3. TeamCity पढ़ता चरण 1 से संस्करण फ़ाइल, प्रत्येक व्यक्ति के नंबर और सेट इसी TeamCity निर्माण मानकों
  4. (ताकि मैं उन्हें इस तरह के nuget संकुल और लेबलिंग बनाने के रूप में चीजों के लिए बाद में उपयोग कर सकते हैं) बाहर उठाता टीमसिटी ऑटो अंतिम 'बिल्ड गिनती' मान बढ़ाता है।
  5. टीमसिटी नई संस्करण की जानकारी को संस्करण फ़ाइल (अद्यतन 'बिल्ड गिनती' के साथ)
  6. टीमसिटी तब मेरे बाकी के निर्माण चरणों, फ़ाइलों का निर्माण, यूनिट परीक्षण चलाने, सही असेंबली संस्करण आदि सेट करने के माध्यम से वापस सहेजता है। ।
  7. TeamCity अंत में VCS में वापस फ़ाइल की जाँच करता है

हम बातें इस तरह से हम एक पुराने रिलीज के ठीक करने की जरूरत है चाहिए तो संस्करण संख्या सही हो जाएगा और TeamCity कर सकते हैं बस है कर के लाभ का मानना ​​है पुरानी संस्करण फ़ाइल के साथ काम करें, और सामान्य रूप से बिल्ड गिनती को बढ़ाएं। यह धारणा करता है कि हम अपने प्रमुख/मामूली/पैच संस्करणों को सही तरीके से अपडेट कर रहे हैं। यह उम्मीद है कि जल्द ही टीमसिटी 7.1 की रिलीज फीचर के साथ अच्छी तरह से काम करेगा जो आपको कस्टम बिल्ड डायलॉग के माध्यम से कौन सी शाखा बनाने के लिए चुनने देता है।

जो मैंने पहले ही पढ़ा है, उससे अब तक इस तरह के संचालन टीमसिटी में संभव होना चाहिए, लेकिन हम इसे ठीक करने के लिए सबसे आसान रूट ढूंढ रहे हैं क्योंकि हम केवल दो व्यक्ति हैं और हम नहीं कर सकते नंत में विशेषज्ञ बनने में बड़ी मात्रा में निवेश करने के लिए या शक्तियों को केवल यह पता लगाने के लिए कि हम जो चाहते हैं वह नहीं कर सकते हैं।

  1. मैं क्या संभव का प्रस्ताव कर रहा हूँ है:

    तो मैं मेरे सवालों का योग करने के लिए लगता है कि इस प्रकार हैं?

  2. यदि हां तो नंत, पावरहेल इत्यादि के सीमित सीमित अनुभव का उपयोग करने के लिए सबसे अच्छा टूल क्या है (यानी जो किसी के लिए सीखने में सबसे तेज़ है जिसका कमांड लाइन और स्क्रिप्ट अनुभव सरल डॉस ऑपरेशंस और वीबीस्क्रिप्ट का थोड़ा सा विस्तार करता है)

किसी भी मदद की बहुत सराहना की जाती है।

उत्तर

9

अपने पहले प्रश्न के लिए: हाँ, यह संभव है:

  1. .git (.svn, .hg आदि) VCS के लिए निर्देशिका
  2. teamcity में अपने निर्माण लिपि में
  3. पढ़ें संस्करण संख्या (कमांड लाइन नियम जोड़े धावक) अपनी पसंदीदा पटकथा भाषा में और इसे स्वीकार करें। अपने पसंदीदा पटकथा भाषा में संस्करण फ़ाइल में interaction protocol
  4. अद्यतन बिल्ड नंबर के माध्यम से
  5. सेट बिल्ड नंबर
  6. अपने निर्माण को पूरा करें, कदम
  7. प्रदर्शन करने और धक्का, आप आप पहले से ही .git हो सकता है क्योंकि (.svn।एचजी आदि) अंतिम चरण

क्षमा करें लेकिन मैं आपके दूसरे प्रश्न के उत्तर नहीं दे सकता क्योंकि मुझे विंडोज़ के लिए कोई उचित उपकरण नहीं पता है। लिनक्स पर मैं बैश का उपयोग करूंगा।

+0

इनपुट के लिए धन्यवाद, मैं बस किसी के लिए उचित उपकरण पर मदद करने का इंतजार कर रहा हूं। –

+1

स्क्रिप्टिंग करने के लिए टूल के लिए मैं पावरहेल की अनुशंसा करता हूं। टीमसिटी के लिए एक अच्छा धावक है ताकि आप एक स्क्रिप्ट को परिभाषित कर सकें जो पैराम लेता है, फिर उन पैराम्स को पास करने के लिए टीमसिटी चर का उपयोग करें: उदा। एक स्क्रिप्ट "param ($ defaultBranchVersion)" "शुरू करने और% सिस्टम में" स्क्रिप्ट तर्क "सेट करें। ब्रंचवर्जन% इसने अतीत में मेरे लिए अच्छा काम किया है। – Graham

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