2010-02-02 8 views
8

मैं टीमसिटी/गिट के माध्यम से मेवेन प्रोजेक्ट्स का निर्माण कर रहा हूं और pom.xml में टीमसिटी बिल्ड नंबर डालने की कोशिश कर रहा हूं जो सफल निर्माण पर मेरे भंडार में प्रकाशित हो जाता है। दुर्भाग्य से मैं निर्धारित नहीं कर सकता कि pom.xml को सम्मिलित प्रतिस्थापन के साथ कैसे प्रकाशित किया जाए।मेवेन के माध्यम से पीओएम प्रकाशित करना और बिल्ड संस्करण जानकारी डालना

<version>${build.number}</version> 

जहां build.number TeamCity द्वारा प्रदान की जाती है:

मेरे pom.xml तरह की जानकारी शामिल है। यह सब ठीक बनाता है, और अगर (कहें) build.number = 0.1, तो तैनाती 0.112 के साथ एक निर्देशिका में pom.xml है। सब ठीक है और अच्छा है।

हालांकि, तैनात किया गया pom.xml प्रतिस्थापन के बिना है। अर्थात Maven उपयुक्त प्रतिस्थापन के साथ एक pom.xml साथ चल रहा है, लेकिन प्रारंभिक संस्करण तैनात हैं और इसलिए मैं अंतिम pom.xml में

<version>${build.number}</version> 

मिलता है। मैं pom.xml में बिल्ड संस्करण संख्या कैसे प्राप्त कर सकता हूं?

+0

प्रश्न के लिए डाउनवोट क्यों? –

उत्तर

3

मैं इस दृष्टिकोण का उपयोग नहीं करता क्योंकि यह build.number संपत्ति प्रदान किए बिना एससीएम से बाहर की गई परियोजना का निर्माण नहीं करता है। मुझे नहीं लगता कि यह एक अच्छी बात है। शायद मैं कुछ याद कर रहा हूँ।

दरअसल, मुझे वह नहीं मिलता है जो आप वास्तव में प्राप्त करने की कोशिश कर रहे हैं (उदाहरण के लिए मैनिफेस्ट में बिल्ड नंबर क्यों नहीं लिखते हैं)। लेकिन, Teamcity वेबसाइट पर Maven Features के अनुसार:

डिफ़ॉल्ट रूप से, यह भी TeamCity बिल्ड नंबर Maven संस्करण संख्या (...) के साथ सिंक में रहता है।

क्या यह सहायक नहीं हो सकता? इस here के बारे में एक और धागा है।

+0

मैं 'NONE' (या समान) के निर्माण के साथ एक डिफ़ॉल्ट प्रोफ़ाइल प्रदान करके एक प्रोजेक्ट चेक आउट कर सकता हूं, और मेरी टीमसिटी बिल्ड टीमसीटी प्रॉपर्टी का उपयोग करने वाली एक अलग प्रोफ़ाइल का उपयोग करती है। क्या यह आपकी पहली चिंता का समाधान करता है। मेरा कोर बिल्ड अकेले एक pom.xml तैनात कर रहा है। मैं इसे बदलना चाहता हूं, फिर टीमसिटी को एक नए बिल्ड नंबर पर बनाने/तैनात करने के लिए प्राप्त करें और तैनाती pom.xml * के भीतर संस्करण * को बदलें। क्या इसका कोई मतलब है ? हालांकि, मैं उस लिंक को देख लूंगा। –

+0

@ ब्रायन जबकि मुझे स्नैपशॉट तंत्र पसंद है (लेकिन यह एक और कहानी है), प्रोफाइल चाल पहली बात के लिए काम करेगी। दूसरे बिंदु के बारे में, मुझे सब कुछ प्राप्त करने के लिए निश्चित नहीं है। मैं आमतौर पर संस्करण बदलने, शाखा बनाने आदि के लिए रिलीज प्लगइन का उपयोग करता हूं। मैं इसके बारे में सोचूंगा। –

+0

thx। मेरा मेवेन ज्ञान कड़ाई से सीमित है। –

1

generateReleasePoms मेवेन-रीलेज़-प्लगइन की संपत्ति का उपयोग करने का प्रयास करें, शायद यह थोड़ा सा मदद करता है।

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