मैं जो परियोजनाएं विकसित किया है और विभिन्न शाखाओं पर जारी किया जाता है, अर्थात् विकास और रिहाई की एक जोड़ी है वर्ज़निंग के लिए सर्वोत्तम प्रथाओं। प्रक्रिया बहुत अच्छी तरह से काम करती है लेकिन दुर्भाग्यवश इसमें कुछ कमीएं हैं और मैं सोच रहा हूं कि मेरी स्थिति में आवेदन करने के लिए एक बेहतर संस्करण योजना है या नहीं।Maven विभिन्न शाखाओं [विकास, गुणवत्ता आश्वासन/रिलीज]
मुख्य विकास विकास शाखा (यानी सबवर्जन ट्रंक पर होता है लेकिन इससे कोई फर्क नहीं पड़ता) जहां डेवलपर्स की टीम उनके परिवर्तन करती है। इमारत और पैकेजिंग कलाकृतियों के बाद, जेनकिंस उन्हें मैवेन रिपोजिटरी और विकास एकीकरण अनुप्रयोग सर्वर पर तैनात करता है। यह एक विकास-स्नैपशॉट है और मूल रूप से सिर्फ एक feature branch एक आम शाखा पर सभी विकसित सुविधाओं से युक्त है:
<groupId>pl.cyfrowypolsat.process-engine</groupId>
<artifactId>process-engine</artifactId>
<version>D.16-SNAPSHOT</version>
जब किसी ख़ास व्यापारिक परिवर्तन किया है और गुणवत्ता आश्वासन टीम द्वारा अनुरोध किया गया है, इस एक परिवर्तन तो के लिए विलय किया जा रहा है रिलीज शाखा (शाखाएं/रिलीज)।
<groupId>pl.cyfrowypolsat.process-engine</groupId>
<artifactId>process-engine</artifactId>
<version>R.16-SNAPSHOT</version>
तो फिर वहाँ एक रिलीज जो Maven रिलीज-प्लगइन के माध्यम से होता है रिहाई शाखा (जो एक रखरखाव टैग/त्वरित बग फिक्सिंग के लिए शाखा बनाता है) सॉफ्टवेयर के संस्करण के है: जेनकींस क्यूए आवेदन सर्वर से जिसके परिणामस्वरूप विरूपण साक्ष्य तैनात। (आर .16-एसएनएपीएसएचओटी => आर .16)
विकास और रिलीज शाखाओं को क्रमशः डी .16-स्नैपशॉट और आर .16-एसएनएपीएसएचओटी के रूप में संस्करणित किया जा रहा है। यह मैवेन रिपोजिटरी में कलाकृतियों को अलग करने की अनुमति देता है लेकिन विभिन्न मेवेन तंत्र के साथ एक समस्या पैदा करता है जो मानक मैवेन संस्करण शैली पर भरोसा करता है। और यह ओएसजीआई संस्करण भी तोड़ता है।
अब, आप इस योजना में नाम और संस्करण मेवेन कलाकृतियों का नाम कैसे लेंगे? क्या कोई बेहतर तरीका है? शायद मैं संस्करण और नामकरण योजनाओं को बदलने के अलावा मैवेन संरचनाओं में कुछ बदलाव कर सकता हूं? लेकिन मुझे विकास और क्यूए (रिलीज) एससीएम शाखाओं को अलग रखने की जरूरत है।
क्या 'विकास'/'उत्पादन' का एक मेवेन क्लासिफायरफायर एक उचित विकल्प होगा?
<groupId>pl.cyfrowypolsat.process-engine</groupId>
<artifactId>process-engine</artifactId>
<version>16-SNAPSHOT</version>
<classifier>D</classifier>
http://stackoverflow.com/q/11413624/7581 पर देखें। ऐसा लगता है कि '16-आर-स्नैपशॉट' और '16-डी-स्नैपशॉट' जैसे संस्करण होने का सबसे अच्छा तरीका होगा। वर्गीकरण का उपयोग न करें। – itsadok