2011-07-29 10 views
18

के लिए अलग-अलग भंडारों में फ़ाइल करें क्या यह किसी भी तरह से मैवेन तैनाती को बता सकता है: परियोजना का संस्करण एक स्नैपशॉट/रिलीज है या नहीं, इस पर आधारित दो स्वतंत्र कलाकृतियों को तैनात करने का फ़ाइल लक्ष्य?एमवीएन तैनाती: स्नैपशॉट और रिलीज संस्करण

मुझे आशा है कि वहां एक ऐसी संपत्ति हो सकती है जो इस तथ्य को इंगित करती है कि संस्करण के पास स्नैपशॉट तैयार है, या शायद डिफॉल्ट आर्टिफैक्टरी को तैनात करने के लिए (जिसे पहले से संस्करण संख्या के आधार पर तैयार किया गया है)।

मैंने दो अलग-अलग प्रोफाइल का उपयोग करने और pom.xml फ़ाइल को पार्स करके एंटी में स्नैपशॉट करने के बारे में सोचा, लेकिन यदि संभव हो तो मैं क्लीनर समाधान चाहूंगा।

वर्तमान में, मेरी तैनाती प्लगइन निम्नानुसार दिखता है, लेकिन यह संस्करण के बावजूद रिलीज आर्टिफैक्टरी पर तैनात है;

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-deploy-plugin</artifactId> 
    <version>2.5</version> 
    <executions> 
     <execution> 
     <id>deploy-zip-created-by-ant-to-artifactory</id> 
    <phase>deploy</phase> 
    <goals> 
     <goal>deploy-file</goal> 
    </goals> 
    <configuration> 
     <repositoryId>${project.distributionManagement.repository.id}</repositoryId> 
     <url>${project.distributionManagement.repository.url}</url> 
     <file>${project.basedir}/Build/deploy/MyArtifact.zip</file> 
     <pomFile>${project.basedir}/MyArtifact-pom.xml</pomFile> 
    </configuration> 
     </execution> 
    </executions> 
</plugin> 

कई धन्यवाद

+0

तुम क्यों तैनाती के लिए यह करना चाहते हैं तैनात करने के लिए करना चाहते हैं? क्या आप एमवीएन रिलीज का उपयोग नहीं कर रहे हैं: तैयार करें और रिलीज़ करें: प्रदर्शन करें? – khmarbaise

+0

मैं अभी तक पूरी तरह से मैवेन को समझ नहीं पा रहा हूं, लेकिन हम एक जटिल चींटी निर्माण को माइग्रेट करने की कोशिश कर रहे हैं ताकि यह निर्भरता का प्रबंधन करने और चींटी उत्पन्न आर्टिफैक्ट पोस्ट करने के लिए मैवेन का उपयोग करे। मेवेन लक्ष्य तैनाती: फ़ाइल को उस फ़ाइल को निर्दिष्ट करने का सबसे आसान तरीका प्रतीत होता है जिसे हम तैनात करना चाहते थे। – extorn

+0

रिलीज के लिए मेवेन में विचार संभावित अनुपूरक कलाकृतियों (जैसे जावाडोक, स्रोत इत्यादि) के साथ रिलीज रिपोजिटरी (वितरण प्रबंधन क्षेत्र द्वारा परिभाषित) में कलाकृतियों को तैनात करना है। रिलीज प्रक्रिया के दौरान 1.2.3-एसएनएपीएसएचओटी जैसे संस्करण को 1.2.3 में बदल दिया जाएगा और पोम इत्यादि स्वचालित रूप से अपडेट हो जाएंगे और अगला देव चरण बढ़ाया जाएगा (1.2.4-एसएनएपीएसएचओटी) जबकि 1.2.3 कलाकृतियों का होगा संकलित, परीक्षण आदि और रिलीज भंडार में तैनात। – khmarbaise

उत्तर

8

आप अपने settings.xml के भीतर अपने खजाने में परिभाषित किया गया है, तो आप

mvn deploy:deploy-file -DrepositoryId=releases -DartifactId=... -Durl= 
+0

आपकी प्रतिक्रिया के लिए धन्यवाद। वह ऐसा करेगा। :-) – extorn

-2

यह शायद Maven तरीका है का उपयोग कर सकते हैं:

<distributionManagement> 
    <repository> 
     <id>release</id> 
     <url>http://my-releases</url> 
    </repository> 
    <snapshotRepository> 
     <id>snapshots</id> 
     <url>http://my-snapshots</url> 
    </snapshotRepository> 
    </distributionManagement> 

जब कर स्नैपशॉट संस्करण का एक तैनाती, यह स्नैपशॉट्स रिपोजिटरी पर जायेगा। गैर स्नैपशॉट रिलीज के लिए नियमित भंडार का उपयोग किया जाएगा।

बस तैनात करें और यह काम करेगा। :-)

+4

दुर्भाग्यवश, '' तैनाती: तैनाती फ़ाइल ''' वितरण प्रबंधन' में सेटिंग्स की परवाह नहीं करता है, बल्कि इसके बजाय आप उस URL को निर्दिष्ट करने की अपेक्षा करते हैं जिसे आप तैनात करना चाहते हैं। –

3

here से अधिक, मैंने पीएमओ के distributionManagement से संग्रह को चुनने के लिए जीएमएएन प्लगइन का उपयोग किया और इसे एक संपत्ति में स्टोर किया।

तैनाती प्लगइन तब उस संपत्ति का उपयोग कर सकता है। फ़ाइल:

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

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