2012-02-27 13 views
35

पर तैनाती के बीच अंतर कैसे करें मुझे कुछ बेहद स्पष्ट याद आ रही है, लेकिन मुझे कुछ स्पष्टीकरण की आवश्यकता है। मैं मैवेन और आर्कावा का उपयोग करके विकास शुरू करने जा रहा हूं। मैंने सेटिंग्स.एक्सएमएल, और distributionManagement टैग्स दोनों सर्वरों + सेटिंग्स को मेवेन पीओएम में जोड़ा जो मैं तैनात करना चाहता हूं।रिलीज बनाम स्नैपशॉट्स

मैंने अपने आंतरिक स्नैपशॉट रेपो, और पीओएम में अपने आंतरिक रिलीज रेपो दोनों के संदर्भ प्रस्तुत किए। क्या कोई विशिष्ट मैवेन कमांड या विकल्प है, जो एक स्नैपशॉट के रूप में तैनात करने के लिए निर्दिष्ट करता है, और दोनों रिपोज़ के लिए नहीं? या अगर मैं तैनात करता हूं, तो क्या यह स्वचालित रूप से एक प्रतिलिपि को प्रत्येक प्रतिलिपि में धक्का देगा?

कोई इस स्पष्ट कर सकता हूँ? '

उत्तर

57

अपने project.versionSNAPSHOT (उदा, 1.2 स्नैपशॉट) शामिल है और आप mvn deploy निष्पादित, कलाकृतियों अपने स्नैपशॉट भंडार करने के लिए तैनात किया जाएगा। अगर ऐसा नहीं होता है (एफई, 1.2) - वे आपके रिलीज भंडार में तैनात किए जाएंगे।

+0

तो "रिलीज" करने के लिए, मैं खुद को प्रमुख/मामूली आदि संख्या निर्धारित करता हूं? या क्या मैं बस उस रेखा से स्नैपशॉट हटा देता हूं? जब भी आप मेवेन करते हैं, मैवेन उन्हें अद्यतन नहीं करता है: रिलीज या जो भी हो? –

+0

आप इसे मैन्युअल रूप से कर सकते हैं या [maven-release-plugin] का उपयोग कर सकते हैं (http://maven.apache.org/plugins/maven-release-plugin/)। –

+2

मैं अत्यधिक मेवेन-रिलीज-प्लगइन का सुझाव देता हूं क्योंकि यह आपके लिए एक टैग भी बनाएगा और सभी थकाऊ दोहराव वाली सामग्री करेगा – tom

0

आप mvn deploy निष्पादित कर सकते हैं।

यदि आपके पीओएम संस्करण में SNAPSHOT प्रत्यय के रूप में है, तो यह distributionManagement.snapshotRepository के तहत कॉन्फ़िगर किया गया भंडार में तैनात होगा।

यदि आपके पीओएम में SNAPSHOT प्रत्यय नहीं है, तो यह distributionManagement.repository के तहत कॉन्फ़िगर किया गया भंडार में तैनात होगा।

हालांकि, मैं आपको संस्करण और तैनाती का प्रबंधन करने के लिए maven-release-plugin का उपयोग करने की सलाह देता हूं। फिर से शुरू में mvn -B release:clean release:prepare release:perform चल रहा है, द्वारा:

  • प्रत्यय SNAPSHOT संस्करण से निकाल दिया जाता है (उदाहरण के लिए 2.1-SNAPSHOT ->2.1);
  • एप्लिकेशन जेएआर फाइल जेनरेट करने के लिए बनाया गया है;
  • कोड आपके कोड भंडार (उदा। गिट) और टैग किए गए हैं (उदा। 2.1);
  • जेएआर आपके रिलीज रिपोजिटरी में तैनात है (स्नैपशॉट रेपो नहीं);
  • संस्करण बढ़ता गया है और प्रत्यय SNAPSHOT जोड़ा गया है (उदा। 2.2-SNAPSHOT)।
संबंधित मुद्दे