2013-01-11 11 views
6

मैं एसवीएन, जेनकींस और मेवेन का उपयोग कर एक तैनाती पाइपलाइन के बारे में सोच रहा हूं। फिलहाल मैं उस बिंदु पर फंस गया हूं जहां मैं आमतौर पर एक काम करने वाली प्रति पर mvn release:perform पर कॉल करूंगा।क्या एक विशिष्ट संशोधन के साथ मेवेन-रिलीज-प्लगइन का उपयोग करना संभव है?

तैनाती पाइपलाइनों में सोचते समय, मैं एक पाइपलाइन बनाना चाहता हूं जहां प्रत्येक प्रतिबद्धता का उपयोग परीक्षण/उत्पादन के लिए एक सॉफ्टवेयर को जारी करने के लिए किया जा सकता है। मान लें कि मेरे पास 5 बिल्ड हैं, और मैं उत्पादन के लिए बिल्ड 3 (संशोधन 3 के साथ) जारी करने का निर्णय लेता हूं। ट्रंक (जो अब संशोधन 5 पर है) पर पहले से ही 2 नए काम होंगे।

क्या रीसाउट/बिल्ड/टैग/संशोधन 3 पर रिलीज करने के लिए maven-release-plugin का उपयोग करना संभव है? जब मैवेन-रिलीज-प्लगइन रिलीज खत्म करता है तो यह आम तौर पर संशोधित पीओएम को ट्रंक पर करता है।

मैं यहां किसी भी तरह की जानकारी या सलाह के बारे में खुश हूं, इसलिए मुझे किताबों (जैसे http://www.amazon.com/Continuous-Delivery-Deployment-Automation-Addison-Wesley/dp/0321601912), ब्लॉग पोस्ट, जेनकींस दस्तावेज ... मुझे शायद गलत ट्रैक पर इंगित करने में संकोच न करें।

उत्तर

2

डिफ़ॉल्ट रूप से, रिलीज प्लगइन आपकी कार्यशील प्रति की सामग्री के आधार पर रिलीज बनाता है, यह सुनिश्चित करता है कि ऐसा करने से पहले आपके पास कोई असामान्य सामग्री न हो। AFAIK यह स्रोतों के एक अद्यतन को मजबूर नहीं करता है, क्योंकि यह आमतौर पर निरंतर एकीकरण प्रणाली (आपके मामले में जेनकींस) का काम है। तो जेनकींस द्वारा जो कुछ भी चेक किया गया है उसे जारी किया जाएगा।

जो आप करने की कोशिश कर रहे हैं वह जेनकिंस पक्ष पर कॉन्फ़िगरेशन परिवर्तन की तरह लगता है, जो इसे सही संशोधन के लिए इंगित करता है।

दूसरी तरफ, यदि पीओएम फ़ाइलों को रिलीज के हिस्से के रूप में संशोधित किया गया है, लेकिन इस दौरान एसवीएन में बदल दिया गया है, तो आप एक संघर्ष में भाग लेंगे जब मैवेन संशोधित पीओएम फाइलों में जांचना चाहता है। यह एक ऐसी स्थिति है जो इस बात पर निर्भर करती है कि आप रिहाई के साथ कैसे पीछे जाना चाहते हैं।

इस पर आधारित, रिलीज करने से पहले हमेशा एक शाखा बनाने के लिए और अधिक समझदारी हो सकती है। तो आप संशोधन 3 के आधार पर एक शाखा तैयार करेंगे और फिर उस शाखा में अपनी रिलीज तैयार करेंगे। इस तरह, आप उन संसाधनों को करने के साथ मुद्दों में नहीं भागेंगे जो हालिया संशोधन में बदल गए हैं।

शाखा बनाना और इसे जांचना शायद जेनकींस और मेवेन के माध्यम से भी स्वचालित हो सकता है।

+0

हम जेनकींस में रिलीज प्रक्रिया को स्वचालित कैसे कर सकते हैं। कृपया इस http://stackoverflow.com/questions/18778986/how-to-automate-a-job-in-jenkins के माध्यम से जाएं –

1

जहां तक ​​मैंने इसका परीक्षण किया, यह संभव नहीं है।

अधिक स्पष्ट रूप से, जैसा कि आप रिलीज करते हैं, माइनल संशोधित पोम को करने का प्रयास करते हैं। लेकिन, यदि यह वर्तमान की तुलना में पुराना संशोधन है, तो एसवीएन शिकायत करेगा कि आपके स्रोत अद्यतित नहीं हैं। तो यह काम नहीं करेगा। ... जहां तक ​​मुझे पता है।

आप पदोन्नति निर्माण के बारे में दस्तावेज़ पढ़ सकते हैं। मुझे किसी भी व्यक्ति को स्पष्ट करने के लिए पर्याप्त स्पष्ट नहीं मिलता है (इस संदेश के लेखन के कुछ ही मिनटों में)।

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