हमारे पास कई जावा प्रोजेक्ट हैं, जो जेनकिंस के साथ निर्मित सीआई हैं। ये हमारे अपने नेक्सस सर्वर पर ठीक से तैनात हैं। समस्या यह है कि हमें इन पुस्तकालयों को किसी तृतीय पक्ष को प्रदान करने की आवश्यकता है, लेकिन स्रोत कोड के बिना। तो प्रत्येक परियोजना के लिए, नेक्सस में हमने: हमारे devs के लिएविभिन्न सेटिंग्स के साथ कई भंडारों में मेवेन आर्टिफैक्ट को तैनात करना
- विज्ञप्ति भंडार
- स्नैपशॉट्स खजाने हमारे devs के लिए (तैनात शामिल स्रोत कोड)
- (स्रोत कोड तैनात शामिल है) थर्ड पार्टी रिलीज रिपोजिटरी (केवल जेएआर + पीओएम)
- (और यह अच्छा होगा): थर्ड पार्टी स्नैपशॉट रिपोजिटरी (केवल जार + पीओएम) तीसरे पक्ष के लिए रात बनाता है
सवाल यह है कि यह आमतौर पर जेनकींस/नेक्सस दुनिया में कैसे संभाला जाता है? मैं जेनकींस में एक ही नौकरी करना पसंद करूंगा जो सीआई बिल्ड और रिलीज (आर्टेफैक्ट परिनियोजन) प्रक्रिया को स्वचालित रूप से "संभालता है"। वर्तमान में मैं हमारे "मुख्य जड़ pom.xml" (सभी परियोजनाओं से शामिल है) में एक से अधिक <distributionManagement>
प्रोफाइल उपयोग कर रहा हूँ:
[...]
<profiles>
<profile>
<id>default</id>
<distributionManagement>
<repository>
<id>releases</id>
<name>Release</name>
<url>http://path/to/nexus/content/repositories/releases/</url>
</repository>
<snapshotRepository>
<id>snapshots</id>
<name>Snapshot</name>
<url>http://path/to/nexus/content/repositories/snapshots/</url>
<uniqueVersion>false</uniqueVersion>
</snapshotRepository>
</distributionManagement>
</profile>
<profile>
<id>third-party</id>
<distributionManagement>
<repository>
<id>releases</id>
<name>Release</name>
<url>http://path/to/nexus/content/repositories/third-party/</url>
</repository>
<snapshotRepository>
<id>snapshots</id>
<name>Snapshot</name>
<url>http://path/to/nexus/content/repositories/third-party-snapshots/</url>
<uniqueVersion>false</uniqueVersion>
</snapshotRepository>
</distributionManagement>
</profile>
</profiles>
Maven डॉक्स से, यह एक ही के दौरान कई खजाने का उपयोग करने का कोई रास्ता नहीं हो रहा है लाइफसाइकिल बनाएं, इस तथ्य का जिक्र न करें कि हमें लक्षित रेपो के आधार पर स्रोत की आवश्यकता नहीं है।
मैवेन में "नौकरी और विकल्प" के साथ जेनकिंस में नौकरी बनाने के साथ मैं एक चाल कर सकता हूं: clean deploy -P third-party
और उसके बाद पोस्ट-बिल्ड एक्शन - "डिफ़ॉल्ट" डेटा के साथ "मेवेन रिपोजिटरी में कलाकृतियों को तैनात करना" जोड़ना - लेकिन इस मामले में, केवल 0Nके माध्यम से जारी किए गए रेपो और कलाकृतियों दोनों ही स्नैपशॉट केवल एक संग्रह में जा रहे हैं।
कोई व्यावहारिक विचार मैं अपने सीआई नौकरी पदानुक्रम को कम किए बिना ऐसा कैसे कर सकता हूं?
अग्रिम धन्यवाद!
संभव डुप्लिकेट http://stackoverflow.com/questions/635154/multiple-deployments- इन-मेवेन) –
हाँ, मैंने इसकी जांच की। दरअसल, नीचे दी गई वैगन प्लगइन में 'मर्ज-मेवेन-रेपोस' के साथ समान कार्यक्षमता हो सकती है, जो कि अन्य पोस्ट के लिए उपयोग योग्य हो सकती है। एक कस्टम प्लगइन को लागू करने के लिए हमें सबसे बुरा मामला है, मैं बस सोच रहा था कि जेनकिंस की मदद से इसे करने का "आम तरीका" है। – Siaynoq