टीमसिटी में मैंने दो एमएसबिल्ड बिल्ड चरणों के साथ एक बिल्ड कॉन्फ़िगरेशन बनाया है जो एक समाधान। एसएलएन फ़ाइल बनाना चाहिए।टीमसिटी बिल्ड कॉन्फ़िगरेशन में प्रति निर्माण चरण का उपयोग करने का उचित तरीका क्या है?
मैंने लक्ष्य को "बिल्ड" के रूप में परिभाषित किया, जब मैं बिल्ड चलाता हूं, दोनों चरण स्पष्ट रूप से मानक कॉन्फ़िगरेशन निष्पादित करते हैं और दोनों या तो डीबग या रिलीज कॉन्फ़िगरेशन दो बार बनाते हैं।
अब मैं निर्माण कदम सेटिंग्स के पास गया और CommandLine
तर्क, Debug
के लिए मैं /p:Configuration=Debug
कहा, Release
के लिए मैं /p:Configuration=Release
जोड़ा पाया।
इस बिल्डिंग TeamCity की एक चेतावनी में परिणाम:
MSBuild command line parameters contain "/property:" or "/p:". It is recommended to define System Property on Build Parameters instead.
हालांकि एक डिबग और एक रिलीज निर्माण किया गया है।
मैंने इस संदेश को गुगल किया और दो System Parameters
: /p:Configuration=Debug
और /p:Configuration=Release
बनाया। यदि अब मैं %system.DebugConfig%
पर डीबग के लिए अपनी कमांड लाइन बदलूंगा और %system.ReleaseConfig%
पर रिलीज़ के लिए मुझे एक ही त्रुटि मिल जाएगी। केवल तभी मैं वास्तव में समझ गया कि उन सिस्टम पैरामीटर प्रत्येक बिल्ड चरण को हमेशा स्वचालित रूप से कभी नहीं भेजे जाएंगे।
ठीक है, लेकिन मैं डीबग बनाने और सिस्टम पैरामीटर का उपयोग करके या टीम शहर के बिना कम से कम /p
शिकायत लाइन में मिली शिकायत के बिना दो अलग-अलग बिल्ड चरणों को सही ढंग से परिभाषित कैसे करूं? जो आम तौर पर -
आप अलग निर्माण चरणों ड्रॉप और इसके बजाय अलग उपयोग करने के लिए तैयार हैं, तो बजाय बनाता है:
अंतर्दृष्टि के लिए धन्यवाद।काम पर मैं वास्तव में सेटअप लागत को रोकने के लिए मास्टर एमएसबिल्ड फाइल लिखता हूं यदि कोई बिल्ड एजेंट मर जाता है (क्योंकि उनका बैक अप नहीं लिया जाता है)। उन्हें एक वैध स्थिति में वापस कॉन्फ़िगर करना हमेशा ** में दर्द होता है, इसलिए मैं वास्तव में अपने लक्ष्य बना देता हूं। मुझे लगता है कि मैं पहले टीमसिटी की चेतावनियों को अनदेखा करने के लिए चिपक जाऊंगा और जब मैं देखता हूं कि मुझे अधिक '/ p' तर्कों की आवश्यकता है तो मास्टर बनाओ। – Samuel