मेरे पास मूल परियोजना के साथ पारंपरिक मैवेन सेटअप है और उप-परियोजनाओं के कई मॉड्यूल हैं। जब मैं mvn deploy
करता हूं, तो अनुक्रम (गहराई-प्रथम) में प्रत्येक प्रोजेक्ट के लिए deploy
तक पूर्ण जीवन चक्र (test
सहित) चलाता है। यदि कोई भी परियोजना निर्माण करने में विफल रहता है तो मैं किसी भी उपप्रोजेक्ट को तैनात करने से बचना चाहता हूं। दूसरे शब्दों में मैं पूरे पेरेंट प्रोजेक्ट के deploy
को "सब कुछ या कुछ नहीं" चाहूंगा। क्या इसे प्राप्त करने का कोई तरीका है?मेवेन पेरेंट प्रोजेक्ट को उनमें से किसी भी को तैनात करने से पहले सभी मॉड्यूल का परीक्षण करें
उत्तर
: यहाँ स्क्रिप्ट है।
आप जेनकींस उपयोग कर रहे हैं, वहाँ है कि एक के बाद निर्माण के रूप में अपने सभी कलाकृतियों (या बहुत बाद निर्माण) की तैनाती होगी कार्रवाई (बहुत ज्यादा है जो भंडार प्रबंधक आप का उपयोग मन नहीं करता है) एक देरी तैनाती प्लगइन
हैअंत में, MRM-Maven-प्लगइन @ codehaus के लिए मेरे मध्यम लंबी अवधि के लक्ष्यों में से एक है, ताकि आप
mvn mrm:catch-deploy deploy mrm:push-deploy
लेकिन की तरह कुछ करने के लिए सक्षम हो जाएगा तैनाती की स्थानीय मचान अनुमति देने के लिए है कि आखिरी बार अभी तक लिखा नहीं है!
मैवेन स्वयं ऐसा नहीं कर सकता (अभी तक)। वर्तमान में, निर्माण प्रक्रिया प्रत्येक मॉड्यूल पर व्यक्तिगत रूप से सभी लक्ष्यों को चलाती है।
mvn clean install && mvn deploy -DskipTests=true
पहली बार चलाने सब कुछ बनाता है: वहाँ लक्ष्य बड़ी तस्वीर देखने की अनुमति देने के लिए योजना है, लेकिन वह शायद Maven 4.
के लिए है इस का मतलब समय में, आप एक छोटे से खोल स्क्रिप्ट का उपयोग कर सकते हैं। दूसरा रन ज्यादा नहीं करेगा (सभी कोड पहले ही संकलित हैं और लंबे परीक्षण छोड़ दिए गए हैं), इसलिए यह बहुत तेज़ है।
मैं वास्तव में इस दृष्टिकोण को प्राथमिकता देता हूं क्योंकि मेरी स्क्रिप्ट मेरी कंपनी के कैश के लिए किसी मौजूदा distributionManagement
तत्वों को भी प्रतिस्थापित करती है। इसका मतलब है कि मैं मूल पीओएम में कोई भी बदलाव करने की आवश्यकता के बिना मेरी कंपनी के लिए किसी भी परियोजना को तैनात कर सकता हूं। अपने दूरस्थ भंडार एक Sonatype नेक्सस प्रो उदाहरण है, तो नेक्सस प्रो की "स्टेजिंग" सुविधा भंडार उचित करने के लिए परमाणु प्रकाशित करने के लिए अनुमति देगा
#!/bin/bash
if [[ ! -e pom.xml ]]; then
echo "Missing pom.xml" 1>&2
exit 1
fi
sed \
-e '/<distributionManagement>/,/<\/distributionManagement>/d' \
-e '/<\/project/d' \
pom.xml > pom-deploy.xml || exit 1
cat >> pom-deploy.xml <<EOF
<!-- ADDED BY $0 -->
<distributionManagement>
... whatever you need ...
</distributionManagement>
</project>
EOF
mvn -f pom-deploy.xml clean install && \
mvn -f pom-deploy.xml deploy -DskipTests=true && \
rm pom-deploy.xml
exit 0
- 1. किसी भी डेटा को प्रोसेस करने से पहले ओपन-यूरी यूआरएल का परीक्षण कैसे करें
- 2. मल्टी-मॉड्यूल मेवेन प्रोजेक्ट
- 3. मेवेन मॉड्यूल और मेवेन प्रोजेक्ट
- 4. मेवेन तैनाती: अगर आर्टिफैक्ट पहले से मौजूद है तो भी तैनाती को मजबूर करना
- 5. IntelliJ - एक जावा प्रोजेक्ट/मॉड्यूल को एक मेवेन प्रोजेक्ट/मॉड्यूल में कनवर्ट करें
- 6. जीडब्ल्यूटी मेवेन मल्टी मॉड्यूल प्रोजेक्ट
- 7. एक बहु-मॉड्यूल मेवेन प्रोजेक्ट
- 8. किसी भी @PostConstruct से पहले सभी @Resource इंजेक्शन फिर
- 9. जावा प्रोजेक्ट को मेवेन
- 10. मेवेन ईएआर मॉड्यूल और ईजेबी निर्भरता परीक्षण
- 11. jQuery में किसी अभिभावक से सभी बच्चों (किसी भी स्तर पर) का चयन कैसे करें?
- 12. किसी भी हिस्से में पर्ल को तैनात करना क्लस्टर
- 13. पृष्ठ को पूरी तरह से प्रस्तुत करने से पहले सभी सबमिट बटन को लॉक करें
- 14. पर्ल मॉड्यूल में डेटाबेस को तैनात करने का अच्छा तरीका?
- 15. जावाडोक का उपयोग कैसे करें: बहु-मॉड्यूल मेवेन प्रोजेक्ट में कुल मिलाकर ठीक से?
- 16. ASP.NET क्लाइंट को भेजे जाने से पहले किसी पृष्ठ के HTML को संशोधित करने से पहले
- 17. टॉमकैट मेवेन प्लगइन और बहु-मॉड्यूल मेवेन प्रोजेक्ट
- 18. मैं पहले से तैनात कलाकृतियों को ओवरराइट होने से कैसे रोक सकता हूं?
- 19. मेवेन मल्टीमॉड प्रोजेक्ट का ऑर्डर बनाएं?
- 20. किसी मौजूदा प्रोजेक्ट से मेवेन पीओएम उत्पन्न करना?
- 21. अंतर उनमें से
- 22. एक बहु-मॉड्यूल मेवेन बनाना स्वतंत्र रूप से अलग-अलग मॉड्यूल का निर्माण और रिलीज़ करना?
- 23. मेवेन मल्टी-मॉड्यूल प्रोजेक्ट - सभी सबोडोड्यूल समाप्त होने के बाद ऑपरेशन कैसे चलाएं
- 24. परीक्षण विफलताओं के निर्माण के लिए एक हडसन मेवेन नौकरी को कॉन्फ़िगर करें, लेकिन अगर कोई परीक्षण विफलता नहीं है तो केवल तैनात करें
- 25. किसी को भी मेरे shared_ptr चोरी करने से कैसे रोकें?
- 26. ग्रहण मेवेन: एससीएम से "चेकआउट मेवेन प्रोजेक्ट" विकल्प
- 27. मेवेन में कुछ मॉड्यूल में परीक्षण छोड़ना
- 28. किसी निश्चित श्रेणी से परीक्षण बहिष्कृत करें
- 29. किसी अन्य प्रोजेक्ट को संदर्भित करने वाला एक ग्रहण गतिशील वेब प्रोजेक्ट सेट करें
- 30. क्या मैं सभी टेस्टएनजी परीक्षण चला सकता हूं जो किसी भी समूह (मेवेन में) से संबंधित नहीं हैं?
मैं इस के लिए स्वीकार्य उत्तर बदल रहा हूं क्योंकि मुझे लगता है कि आप इसे मैवेन के बजाय सीआई सर्वर का उपयोग करने का सुझाव देने का अधिकार रखते हैं, यही वह दृष्टिकोण है जिसे मैं लेने जा रहा हूं। – Ramon
स्टीफन, जो जेनकींस प्लगइन आप देरी से तैनात करने के लिए जिक्र कर रहे हैं? –
किसी भी विशिष्ट प्लगइन का जिक्र नहीं है –